0.0
No release in over 3 years
LiveLocation is a Ruby gem that provides easy access to live geographic information such as city, region, country, and timezone based on the user's IP address. It is lightweight and simple to integrate into Ruby applications.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
 Dependencies
 Project Readme

LiveLocation Ruby Gem: Pinpoint Your Position!

Overview: Discover Your Geographic Details Instantly

LiveLocation is a super handy and lightweight Ruby gem designed to help you quickly find out your current geographic location based on your IP address. Think of it like a digital map that tells you where you are in the world! It gives you easy access to important details like your city, region, country, and even your timezone, making it perfect for applications that need to know where their users are.

Why Choose LiveLocation?

  • Lightweight: Doesn't add much bulk to your project.
  • Easy to Use: Simple methods for quick access to location data.
  • Essential Info: Provides key geographical details you might need.
  • IP-Based: Fetches location without needing GPS or complex permissions.

Getting Started: Installation is a Breeze!

Integrating LiveLocation into your Ruby project is straightforward and quick.

Option 1: Install via RubyGems

If you want to install it globally on your system, open your terminal or command prompt and type:

gem install live_location

This command downloads and installs the gem, making it available for any Ruby script you run.

Option 2: Add to Your Gemfile (Recommended for Projects)

For Ruby projects managed with Bundler (like Rails applications), it's best to add LiveLocation to your Gemfile. This ensures consistent gem versions across your development team.

  1. Open your project's Gemfile (usually found in the root directory).

  2. Add this line:
    gem 'live_location'

  3. Save the Gemfile.

  4. Then, from your project's directory in the terminal, run:
    bundle install

    This command will install LiveLocation and any other gems listed in your Gemfile, ensuring all your project's dependencies are met.

How to Use: Fetching Location Data

Once LiveLocation is installed, you can easily start fetching geographical information in your Ruby code.

First, you need to require the gem in your Ruby file:

require 'live_location'

Now, you can call its methods:

# Get ALL available location details as a comprehensive Hash
# This includes city, region, country, IP address, latitude, longitude, and timezone.
puts "Fetching full location data..."
current_location_data = LiveLocation.fetch
puts "Full Location Data: #{current_location_data}"
# Example output might look like:
# {"ip"=>"192.0.2.1", "city"=>"Example City", "region"=>"Example Region", "country"=>"Example Country", "loc"=>"34.0522,-118.2437", "timezone"=>"America/Los_Angeles"}

puts "\n---"

# Need just the city name?
puts "Fetching city only..."
my_city = LiveLocation.city
puts "Your City: #{my_city}" # e.g., "Example City"

puts "\n---"

# Or perhaps only the timezone string?
puts "Fetching timezone only..."
current_timezone = LiveLocation.timezone
puts "Your Timezone: #{current_timezone}" # e.g., "America/Los_Angeles"

puts "\n---"

# You can then use these variables in your application logic!
if my_city
puts "Welcome! It looks like you're in #{my_city}."
else
puts "Could not determine your city."
end

API Reference: Methods Available

The LiveLocation gem provides a simple and clear API for accessing your location data:

  • LiveLocation.fetch
    • Purpose: This is the most comprehensive method. It retrieves all available geographical information based on your IP address.
    • Returns: A Hash. This hash contains various key-value pairs like ip, city, region, country, loc (latitude,longitude), and timezone. It's perfect when you need a complete picture of the location.
  • LiveLocation.city
    • Purpose: If you only need to know the city name, this method is for you. It's a quick way to get just that specific piece of information.
    • Returns: A String representing the name of the current city (e.g., "New York", "London", "Tokyo"). Returns nil if the city cannot be determined.
  • LiveLocation.timezone
    • Purpose: This method is useful when you need to know the user's local timezone, which is crucial for displaying correct times or scheduling.
    • Returns: A String indicating the current timezone in a standard format (e.g., "America/New_York", "Europe/London", "Asia/Kolkata"). Returns nil if the timezone cannot be determined.

Licensing: Open Source Freedom!

This gem is proudly distributed under the MIT License. This means it's open-source and very permissive, allowing you to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the software with very few restrictions. For the full details, please refer to the LICENSE file within the gem's source code.