velibe 0.2.2 → 0.2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.travis.yml +0 -1
- data/CHANGELOG.md +7 -1
- data/Rakefile +15 -4
- data/features/step_definitions/config_steps.rb +5 -0
- data/features/support/aruba.rb +1 -0
- data/features/support/env.rb +26 -0
- data/features/velibe_favorites.feature +16 -0
- data/features/velibe_query.feature +25 -0
- data/lib/velibe.rb +1 -1
- data/lib/velibe/config.rb +15 -0
- data/lib/velibe/db/database.rb +2 -5
- data/lib/velibe/db/kv_store.rb +20 -10
- data/lib/velibe/version.rb +1 -1
- data/spec/kv_store_spec.rb +78 -0
- data/spec/spec_helper.rb +6 -0
- data/velibe.gemspec +2 -0
- metadata +43 -2
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 53bf1830ce882ba66e706edbf383b5c97f0a3fa8
         | 
| 4 | 
            +
              data.tar.gz: 22d9f6e371bf02de9e399f7f72797acff029aa07
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 881572db58c41d7c2ff371781661b743f1498005718dce68d0f7ddff0474105692f8c664679ea2a8841174fa2f54c7ebf5a345ec312c88cdb85f9b04a528531c
         | 
| 7 | 
            +
              data.tar.gz: 214b62a2c0ace61ec874eb8b0cc1492a08c99894fcfab161c6dfad811745eefdb1cfb0f03a74d9107accf21b1734084b8fa0b3b42751a1a8b7b460f8ee6812bf
         | 
    
        data/.travis.yml
    CHANGED
    
    
    
        data/CHANGELOG.md
    CHANGED
    
    | @@ -4,6 +4,10 @@ All notable changes to *Velibe* will be documented in this file. | |
| 4 4 | 
             
            This project adheres to [Semantic Versioning](http://semver.org/).
         | 
| 5 5 |  | 
| 6 6 | 
             
            ## [Unreleased][unreleased]
         | 
| 7 | 
            +
            ## [0.2.3] - 2015-12-04
         | 
| 8 | 
            +
            ### Fixed
         | 
| 9 | 
            +
            - ensure favorites stations are stored as integer
         | 
| 10 | 
            +
            - prevent running test to destroy your config :)
         | 
| 7 11 |  | 
| 8 12 | 
             
            ## [0.2.2] - 2015-12-02
         | 
| 9 13 | 
             
            ### Fixed
         | 
| @@ -38,7 +42,9 @@ This project adheres to [Semantic Versioning](http://semver.org/). | |
| 38 42 | 
             
            ## [0.0.1] - 2015-07-04
         | 
| 39 43 | 
             
            - Initial Release
         | 
| 40 44 |  | 
| 41 | 
            -
            [unreleased]: https://github.com/AdrieanKhisbe/velibe/compare/v0.2. | 
| 45 | 
            +
            [unreleased]: https://github.com/AdrieanKhisbe/velibe/compare/v0.2.3...HEAD
         | 
| 46 | 
            +
            [0.2.3]: https://github.com/AdrieanKhisbe/velibe/compare/v0.2.2...v0.2.3
         | 
| 47 | 
            +
            [0.2.2]: https://github.com/AdrieanKhisbe/velibe/compare/v0.2.1...v0.2.2
         | 
| 42 48 | 
             
            [0.2.1]: https://github.com/AdrieanKhisbe/velibe/compare/v0.2.0...v0.2.1
         | 
| 43 49 | 
             
            [0.2.0]: https://github.com/AdrieanKhisbe/velibe/compare/v0.1.0...v0.2.0
         | 
| 44 50 | 
             
            [0.1.0]: https://github.com/AdrieanKhisbe/velibe/compare/v0.0.2...v0.1.0
         | 
    
        data/Rakefile
    CHANGED
    
    | @@ -1,8 +1,19 @@ | |
| 1 | 
            -
             | 
| 2 | 
            -
            require  | 
| 3 | 
            -
             | 
| 1 | 
            +
            # coding: utf-8
         | 
| 2 | 
            +
            require 'bundler/gem_tasks'
         | 
| 3 | 
            +
            require 'rspec/core/rake_task'
         | 
| 4 | 
            +
            require 'cucumber'
         | 
| 5 | 
            +
            require 'cucumber/rake/task'
         | 
| 6 | 
            +
             | 
| 7 | 
            +
            # §todo: see task offered : -T flag
         | 
| 4 8 | 
             
            # see -> http://pablocantero.com/blog/2011/01/02/new-gem-with-bundler-sample-rakefile/
         | 
| 5 9 |  | 
| 6 10 | 
             
            RSpec::Core::RakeTask.new(:spec)
         | 
| 11 | 
            +
            Cucumber::Rake::Task.new(:features) do |t|
         | 
| 12 | 
            +
              t.cucumber_opts = 'features --format pretty'
         | 
| 13 | 
            +
            end
         | 
| 14 | 
            +
             | 
| 15 | 
            +
            task test: [:spec, :features]
         | 
| 16 | 
            +
            task default: :test
         | 
| 17 | 
            +
             | 
| 18 | 
            +
             | 
| 7 19 |  | 
| 8 | 
            -
            task :default => :spec
         | 
| @@ -0,0 +1 @@ | |
| 1 | 
            +
            require 'aruba/cucumber'
         | 
| @@ -0,0 +1,26 @@ | |
| 1 | 
            +
            require 'aruba/cucumber'
         | 
| 2 | 
            +
            velibe_lib = File.expand_path('../../lib', __FILE__)
         | 
| 3 | 
            +
             | 
| 4 | 
            +
            ENV['VELIBE_DB_PATH'] = '/tmp/velibe.db'
         | 
| 5 | 
            +
            ENV['VELIBE_CONFIG_PATH'] = '/tmp/velibe.yaml'
         | 
| 6 | 
            +
            ENV['VELIBE_TOKEN'] = 'fake-test-value'
         | 
| 7 | 
            +
             | 
| 8 | 
            +
            if ENV['TRAVIS']
         | 
| 9 | 
            +
              require 'simplecov'
         | 
| 10 | 
            +
              require 'coveralls'
         | 
| 11 | 
            +
             | 
| 12 | 
            +
              SimpleCov.formatter = Coveralls::SimpleCov::Formatter
         | 
| 13 | 
            +
              SimpleCov.start do
         | 
| 14 | 
            +
                # No need to report coverage metrics for the test code
         | 
| 15 | 
            +
                add_filter 'test'
         | 
| 16 | 
            +
                add_filter 'features'
         | 
| 17 | 
            +
                add_filter 'data'
         | 
| 18 | 
            +
              end
         | 
| 19 | 
            +
             | 
| 20 | 
            +
              # Eager load the entire lib directory so that SimpleCov is able to report
         | 
| 21 | 
            +
              # accurate code coverage metrics.
         | 
| 22 | 
            +
              at_exit { Dir["#{velibe_lib}/**/*.rb"].each { |rb| require(rb) } }
         | 
| 23 | 
            +
            end
         | 
| 24 | 
            +
             | 
| 25 | 
            +
            $LOAD_PATH.unshift velibe_lib
         | 
| 26 | 
            +
            require 'velibe'
         | 
| @@ -0,0 +1,16 @@ | |
| 1 | 
            +
            Feature: Playing with favorites
         | 
| 2 | 
            +
              In order to see not specify each time wich station i'm interested in
         | 
| 3 | 
            +
              As a user of the velibe cli
         | 
| 4 | 
            +
              I want to be handle to manage favorite
         | 
| 5 | 
            +
             | 
| 6 | 
            +
             | 
| 7 | 
            +
            Background: Favorites Exists
         | 
| 8 | 
            +
              Given my favorites stations are 22, 42, 68
         | 
| 9 | 
            +
             | 
| 10 | 
            +
            Scenario: List favorites
         | 
| 11 | 
            +
             | 
| 12 | 
            +
            Scenario: Add a Favorite
         | 
| 13 | 
            +
             | 
| 14 | 
            +
             | 
| 15 | 
            +
             | 
| 16 | 
            +
            Scenario: Force Reset of favorites
         | 
| @@ -0,0 +1,25 @@ | |
| 1 | 
            +
            Feature: Querying the API
         | 
| 2 | 
            +
              In order to see if I can take a bike at a given station
         | 
| 3 | 
            +
              As a user of the velibe cli
         | 
| 4 | 
            +
              I want to be able to query the api through the velibe cli
         | 
| 5 | 
            +
             | 
| 6 | 
            +
            Background: Favorites Exists
         | 
| 7 | 
            +
              Given my favorites stations are 22, 42, 68
         | 
| 8 | 
            +
             | 
| 9 | 
            +
            Scenario: By Default, my favorites are queried
         | 
| 10 | 
            +
              Given a file named "file.txt" with:
         | 
| 11 | 
            +
               """
         | 
| 12 | 
            +
               Hello World
         | 
| 13 | 
            +
               """
         | 
| 14 | 
            +
              Then the file "file.txt" should contain:
         | 
| 15 | 
            +
               """
         | 
| 16 | 
            +
               Hello World
         | 
| 17 | 
            +
               """
         | 
| 18 | 
            +
             | 
| 19 | 
            +
             | 
| 20 | 
            +
            Scenario: I can specify the station i'm interested into
         | 
| 21 | 
            +
             | 
| 22 | 
            +
             | 
| 23 | 
            +
             | 
| 24 | 
            +
             | 
| 25 | 
            +
            Scenario: Wrong arguments are ignored and warning is printed
         | 
    
        data/lib/velibe.rb
    CHANGED
    
    
| @@ -0,0 +1,15 @@ | |
| 1 | 
            +
            module Velibe
         | 
| 2 | 
            +
              module Config
         | 
| 3 | 
            +
                #  §see: http://stackoverflow.com/questions/7828066/accessing-files-packaged-into-a-ruby-gem
         | 
| 4 | 
            +
             | 
| 5 | 
            +
                DB_NAME = ENV['VELIBE_DB_PATH'] || '~/.velib.db'
         | 
| 6 | 
            +
                DB_PATH = Pathname.new(DB_NAME).expand_path # .to_s?
         | 
| 7 | 
            +
                DATA_CSV = '../../data/Paris.csv'
         | 
| 8 | 
            +
             | 
| 9 | 
            +
                DATA_CSV_FILE = File.join(File.dirname(File.expand_path(__FILE__)), DATA_CSV)
         | 
| 10 | 
            +
             | 
| 11 | 
            +
                KV_NAME =  ENV['VELIBE_CONFIG_PATH'] || '~/.velib.yaml'
         | 
| 12 | 
            +
                KV_PATH = Pathname.new(KV_NAME).expand_path
         | 
| 13 | 
            +
             | 
| 14 | 
            +
              end
         | 
| 15 | 
            +
            end
         | 
    
        data/lib/velibe/db/database.rb
    CHANGED
    
    | @@ -6,15 +6,12 @@ require 'sqlite3' | |
| 6 6 | 
             
            require 'active_record'
         | 
| 7 7 | 
             
            require 'csv'
         | 
| 8 8 | 
             
            require 'velibe/db/models'
         | 
| 9 | 
            +
            require 'velibe/config'
         | 
| 9 10 |  | 
| 10 11 | 
             
            module Velibe
         | 
| 11 12 |  | 
| 12 13 | 
             
              module Database
         | 
| 13 | 
            -
                 | 
| 14 | 
            -
                DB_PATH = Pathname.new(DB_NAME).expand_path # .to_s?
         | 
| 15 | 
            -
                DATA_CSV = '../../../data/Paris.csv'
         | 
| 16 | 
            -
                DATA_CSV_FILE = File.join(File.dirname(File.expand_path(__FILE__)), DATA_CSV)
         | 
| 17 | 
            -
                #  §see: http://stackoverflow.com/questions/7828066/accessing-files-packaged-into-a-ruby-gem
         | 
| 14 | 
            +
                include Config
         | 
| 18 15 |  | 
| 19 16 | 
             
                def self.exist?
         | 
| 20 17 | 
             
                  DB_PATH.exist? # §check
         | 
    
        data/lib/velibe/db/kv_store.rb
    CHANGED
    
    | @@ -1,34 +1,44 @@ | |
| 1 1 | 
             
            # -*- coding: utf-8 -*-
         | 
| 2 2 | 
             
            require 'moneta'
         | 
| 3 3 | 
             
            require 'pathname'
         | 
| 4 | 
            +
            require 'velibe/config'
         | 
| 4 5 |  | 
| 5 6 | 
             
            module Velibe
         | 
| 6 7 |  | 
| 7 8 | 
             
              module KvStore
         | 
| 8 | 
            -
                 | 
| 9 | 
            -
                PATH = Pathname.new(NAME).expand_path
         | 
| 10 | 
            -
                DB = Moneta.new(:YAML, file: PATH)
         | 
| 9 | 
            +
                include Config
         | 
| 11 10 |  | 
| 11 | 
            +
                KV_DB = Moneta.new(:YAML, file: KV_PATH)
         | 
| 12 12 | 
             
                FAV_KEY = 'favorites'
         | 
| 13 13 |  | 
| 14 | 
            +
                def self.db
         | 
| 15 | 
            +
                  KV_DB
         | 
| 16 | 
            +
                end
         | 
| 17 | 
            +
             | 
| 18 | 
            +
                def self.fav_key
         | 
| 19 | 
            +
                  FAV_KEY
         | 
| 20 | 
            +
                end
         | 
| 21 | 
            +
             | 
| 14 22 | 
             
                def self.token
         | 
| 15 | 
            -
                   | 
| 23 | 
            +
                  KV_DB['token']
         | 
| 16 24 | 
             
                end
         | 
| 17 25 |  | 
| 18 | 
            -
                def self.reset_favorite_stations
         | 
| 19 | 
            -
                   | 
| 26 | 
            +
                def self.reset_favorite_stations(*new_stations)
         | 
| 27 | 
            +
                  KV_DB[FAV_KEY] = new_stations.collect(&:to_i)
         | 
| 20 28 | 
             
                end
         | 
| 21 29 |  | 
| 22 30 | 
             
                def self.favorite_stations
         | 
| 23 | 
            -
                   | 
| 31 | 
            +
                  KV_DB[FAV_KEY]
         | 
| 24 32 | 
             
                end
         | 
| 25 33 |  | 
| 26 34 | 
             
                def self.add_favorite_station(*stations)
         | 
| 27 | 
            -
                  fav =  | 
| 35 | 
            +
                  fav = KV_DB[FAV_KEY]
         | 
| 28 36 | 
             
                  # TODO: handle setup
         | 
| 29 37 | 
             
                  # TODO: check existing station
         | 
| 30 | 
            -
                  stations.each  | 
| 31 | 
            -
             | 
| 38 | 
            +
                  stations.collect(&:to_i).each do |station|
         | 
| 39 | 
            +
                    fav.push(station) unless fav.include?(station)
         | 
| 40 | 
            +
                    end
         | 
| 41 | 
            +
                  KV_DB[FAV_KEY] = fav
         | 
| 32 42 | 
             
                end
         | 
| 33 43 |  | 
| 34 44 | 
             
              end
         | 
    
        data/lib/velibe/version.rb
    CHANGED
    
    
| @@ -0,0 +1,78 @@ | |
| 1 | 
            +
            require 'spec_helper'
         | 
| 2 | 
            +
             | 
| 3 | 
            +
             | 
| 4 | 
            +
            describe Velibe::KvStore do
         | 
| 5 | 
            +
             | 
| 6 | 
            +
             | 
| 7 | 
            +
              before { Velibe::KvStore.db[Velibe::KvStore.fav_key] = [2, 3, 4] }
         | 
| 8 | 
            +
              let(:favorites) { Velibe::KvStore.favorite_stations }
         | 
| 9 | 
            +
             | 
| 10 | 
            +
             | 
| 11 | 
            +
              describe '#token' do
         | 
| 12 | 
            +
                let(:token) { Velibe::KvStore.token }
         | 
| 13 | 
            +
                context 'no token in conf' do
         | 
| 14 | 
            +
                  before { Velibe::KvStore.db.delete 'token'}
         | 
| 15 | 
            +
                  it { expect(token).to be_nil }
         | 
| 16 | 
            +
                end
         | 
| 17 | 
            +
                context 'with token in conf' do
         | 
| 18 | 
            +
                  before { Velibe::KvStore.db['token'] = 'fake-test-value' }
         | 
| 19 | 
            +
                  it { expect(token).to eq 'fake-test-value' }
         | 
| 20 | 
            +
                end
         | 
| 21 | 
            +
              end
         | 
| 22 | 
            +
             | 
| 23 | 
            +
              describe '#favorite_stations' do
         | 
| 24 | 
            +
                it { expect(favorites).to eq [2, 3, 4] }
         | 
| 25 | 
            +
              end
         | 
| 26 | 
            +
             | 
| 27 | 
            +
              describe '#reset_favorite_stations' do
         | 
| 28 | 
            +
             | 
| 29 | 
            +
                context 'default arguments' do
         | 
| 30 | 
            +
                  before { Velibe::KvStore.reset_favorite_stations }
         | 
| 31 | 
            +
                  it { expect(favorites).to eq [] }
         | 
| 32 | 
            +
                end
         | 
| 33 | 
            +
             | 
| 34 | 
            +
                context 'specific arguments' do
         | 
| 35 | 
            +
                  before { Velibe::KvStore.reset_favorite_stations 12, 42 }
         | 
| 36 | 
            +
                  it { expect(favorites).to eq [12, 42] }
         | 
| 37 | 
            +
                end
         | 
| 38 | 
            +
             | 
| 39 | 
            +
                context 'specific arguments as string' do
         | 
| 40 | 
            +
                  before { Velibe::KvStore.reset_favorite_stations '33' }
         | 
| 41 | 
            +
                  it { expect(favorites).to eq [33] }
         | 
| 42 | 
            +
                end
         | 
| 43 | 
            +
             | 
| 44 | 
            +
              end
         | 
| 45 | 
            +
             | 
| 46 | 
            +
              describe '#add_favorite_station' do
         | 
| 47 | 
            +
                before { Velibe::KvStore.add_favorite_station *new_fav }
         | 
| 48 | 
            +
                let(:final_fav) { Velibe::KvStore.favorite_stations }
         | 
| 49 | 
            +
             | 
| 50 | 
            +
                context 'single new favorite' do
         | 
| 51 | 
            +
                  let(:new_fav) { 5 }
         | 
| 52 | 
            +
                  it { expect(final_fav).to eq (2..5).to_a }
         | 
| 53 | 
            +
                end
         | 
| 54 | 
            +
             | 
| 55 | 
            +
                context 'list of favorites' do
         | 
| 56 | 
            +
                  let(:new_fav) { (5..10).to_a }
         | 
| 57 | 
            +
                  it { expect(final_fav).to eq (2..10).to_a }
         | 
| 58 | 
            +
                end
         | 
| 59 | 
            +
             | 
| 60 | 
            +
                context 'single new as string' do
         | 
| 61 | 
            +
                  let(:new_fav) { '5' }
         | 
| 62 | 
            +
                  it { expect(final_fav).to eq (2..5).to_a }
         | 
| 63 | 
            +
                end
         | 
| 64 | 
            +
             | 
| 65 | 
            +
                context 'ignore duplicates' do
         | 
| 66 | 
            +
                  let(:new_fav) { (3..5).to_a }
         | 
| 67 | 
            +
                  it { expect(final_fav).to eq (2..5).to_a }
         | 
| 68 | 
            +
                end
         | 
| 69 | 
            +
             | 
| 70 | 
            +
                context 'no values' do
         | 
| 71 | 
            +
                  let(:new_fav) {}
         | 
| 72 | 
            +
                  it { expect(final_fav).to eq (2..4).to_a }
         | 
| 73 | 
            +
                end
         | 
| 74 | 
            +
             | 
| 75 | 
            +
             | 
| 76 | 
            +
              end
         | 
| 77 | 
            +
             | 
| 78 | 
            +
            end
         | 
    
        data/spec/spec_helper.rb
    CHANGED
    
    | @@ -1,5 +1,9 @@ | |
| 1 1 | 
             
            velibe_lib = File.expand_path('../../lib', __FILE__)
         | 
| 2 2 |  | 
| 3 | 
            +
            ENV['VELIBE_DB_PATH'] = '/tmp/velibe.db'
         | 
| 4 | 
            +
            ENV['VELIBE_CONFIG_PATH'] = '/tmp/velibe.yaml'
         | 
| 5 | 
            +
            ENV['VELIBE_TOKEN'] = 'fake-test-value'
         | 
| 6 | 
            +
             | 
| 3 7 | 
             
            if ENV['TRAVIS']
         | 
| 4 8 | 
             
              require 'simplecov'
         | 
| 5 9 | 
             
              require 'coveralls'
         | 
| @@ -8,6 +12,8 @@ if ENV['TRAVIS'] | |
| 8 12 | 
             
              SimpleCov.start do
         | 
| 9 13 | 
             
                # No need to report coverage metrics for the test code
         | 
| 10 14 | 
             
                add_filter 'test'
         | 
| 15 | 
            +
                add_filter 'features'
         | 
| 16 | 
            +
                add_filter 'data'
         | 
| 11 17 | 
             
              end
         | 
| 12 18 |  | 
| 13 19 | 
             
              # Eager load the entire lib directory so that SimpleCov is able to report
         | 
    
        data/velibe.gemspec
    CHANGED
    
    | @@ -26,6 +26,8 @@ Gem::Specification.new do |spec| | |
| 26 26 | 
             
              spec.add_development_dependency 'bundler', '~> 1.6'
         | 
| 27 27 | 
             
              spec.add_development_dependency 'rake'
         | 
| 28 28 | 
             
              spec.add_development_dependency 'rspec'
         | 
| 29 | 
            +
              spec.add_development_dependency 'cucumber'
         | 
| 30 | 
            +
              spec.add_development_dependency 'aruba', '~> 0.11.1'
         | 
| 29 31 | 
             
              spec.add_development_dependency 'simplecov'
         | 
| 30 32 | 
             
              spec.add_development_dependency 'coveralls'
         | 
| 31 33 | 
             
              spec.add_development_dependency 'jazz_fingers'
         | 
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: velibe
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0.2. | 
| 4 | 
            +
              version: 0.2.3
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Adriean Khisbe
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2015-12- | 
| 11 | 
            +
            date: 2015-12-04 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: http
         | 
| @@ -108,6 +108,34 @@ dependencies: | |
| 108 108 | 
             
                - - ">="
         | 
| 109 109 | 
             
                  - !ruby/object:Gem::Version
         | 
| 110 110 | 
             
                    version: '0'
         | 
| 111 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 112 | 
            +
              name: cucumber
         | 
| 113 | 
            +
              requirement: !ruby/object:Gem::Requirement
         | 
| 114 | 
            +
                requirements:
         | 
| 115 | 
            +
                - - ">="
         | 
| 116 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 117 | 
            +
                    version: '0'
         | 
| 118 | 
            +
              type: :development
         | 
| 119 | 
            +
              prerelease: false
         | 
| 120 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 121 | 
            +
                requirements:
         | 
| 122 | 
            +
                - - ">="
         | 
| 123 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 124 | 
            +
                    version: '0'
         | 
| 125 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 126 | 
            +
              name: aruba
         | 
| 127 | 
            +
              requirement: !ruby/object:Gem::Requirement
         | 
| 128 | 
            +
                requirements:
         | 
| 129 | 
            +
                - - "~>"
         | 
| 130 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 131 | 
            +
                    version: 0.11.1
         | 
| 132 | 
            +
              type: :development
         | 
| 133 | 
            +
              prerelease: false
         | 
| 134 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 135 | 
            +
                requirements:
         | 
| 136 | 
            +
                - - "~>"
         | 
| 137 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 138 | 
            +
                    version: 0.11.1
         | 
| 111 139 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 112 140 | 
             
              name: simplecov
         | 
| 113 141 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -186,13 +214,20 @@ files: | |
| 186 214 | 
             
            - bin/velibe
         | 
| 187 215 | 
             
            - data/Paris.csv
         | 
| 188 216 | 
             
            - data/Paris.json
         | 
| 217 | 
            +
            - features/step_definitions/config_steps.rb
         | 
| 218 | 
            +
            - features/support/aruba.rb
         | 
| 219 | 
            +
            - features/support/env.rb
         | 
| 220 | 
            +
            - features/velibe_favorites.feature
         | 
| 221 | 
            +
            - features/velibe_query.feature
         | 
| 189 222 | 
             
            - lib/velibe.rb
         | 
| 190 223 | 
             
            - lib/velibe/api_velib.rb
         | 
| 224 | 
            +
            - lib/velibe/config.rb
         | 
| 191 225 | 
             
            - lib/velibe/db/database.rb
         | 
| 192 226 | 
             
            - lib/velibe/db/kv_store.rb
         | 
| 193 227 | 
             
            - lib/velibe/db/models.rb
         | 
| 194 228 | 
             
            - lib/velibe/station_status.rb
         | 
| 195 229 | 
             
            - lib/velibe/version.rb
         | 
| 230 | 
            +
            - spec/kv_store_spec.rb
         | 
| 196 231 | 
             
            - spec/spec_helper.rb
         | 
| 197 232 | 
             
            - spec/station_status_spec.rb
         | 
| 198 233 | 
             
            - velibe.gemspec
         | 
| @@ -222,6 +257,12 @@ signing_key: | |
| 222 257 | 
             
            specification_version: 4
         | 
| 223 258 | 
             
            summary: Small Velib Utility
         | 
| 224 259 | 
             
            test_files:
         | 
| 260 | 
            +
            - features/step_definitions/config_steps.rb
         | 
| 261 | 
            +
            - features/support/aruba.rb
         | 
| 262 | 
            +
            - features/support/env.rb
         | 
| 263 | 
            +
            - features/velibe_favorites.feature
         | 
| 264 | 
            +
            - features/velibe_query.feature
         | 
| 265 | 
            +
            - spec/kv_store_spec.rb
         | 
| 225 266 | 
             
            - spec/spec_helper.rb
         | 
| 226 267 | 
             
            - spec/station_status_spec.rb
         | 
| 227 268 | 
             
            has_rdoc: 
         |