mygasfeed 0.1.0 → 0.1.1

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 1e7c7a4d2b39c6a40877903f33ef998828ae5a10
4
- data.tar.gz: 43c5b35f9126d73c4d4c6c0e98641ad0f22f65ae
3
+ metadata.gz: 34935e6c17e6f39bb4ee14ea1fd03d63ec634425
4
+ data.tar.gz: b96161c0ddd8047c82349770ebe1ba03cf906aa5
5
5
  SHA512:
6
- metadata.gz: b1cd6e01c95e4278e076e63fb04393abd1489a54bfffe03c11091e6cc2951e1ea9fee9933e8cb6ad860406550dfe44a7885d920229f04dbd51536545573d2937
7
- data.tar.gz: fa5a0b75c835a9b1bbbd2029d2b1febb0e58c604f0e1f5e77c31d929ed6c0afd94a3ac215f3ac764f3bfd9cb1861e4f13ab03915fb8a7420e8f39f3c4442ab39
6
+ metadata.gz: a7429a66ec7e566f9d3e28ce75881499486b772e4806a92e2d5063402de0ba378325e5bd5afcff34e4951a27d94ea9183316249b63a2ec4899139bbf7afd40b1
7
+ data.tar.gz: 039d92cd26039ba08298a498f0bca2999cca5cfbda61cf989a858a586bcf9ca6e802a20a843b965cfdb9b8b47bcd9a22e1f6476bfc7f4929190edaf007666995
data/lib/mygasfeed.rb CHANGED
@@ -1,5 +1,6 @@
1
1
  require "mygasfeed/version"
2
2
  require "mygasfeed/request"
3
+ require "mygasfeed/resources/base_struct.rb"
3
4
  Dir[File.dirname(__FILE__) + "/mygasfeed/dsl/*.rb"].each { |f| require f }
4
5
  Dir[File.dirname(__FILE__) + "/mygasfeed/resources/*.rb"].each { |f| require f }
5
6
 
@@ -1,3 +1,3 @@
1
1
  module Mygasfeed
2
- VERSION = "0.1.0"
2
+ VERSION = "0.1.1"
3
3
  end
data/mygasfeed.gemspec CHANGED
@@ -1,26 +1,24 @@
1
1
  # coding: utf-8
2
2
  lib = File.expand_path('../lib', __FILE__)
3
3
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
- require 'mygasfeed/version'
4
+ require 'mygasfeed'
5
5
 
6
6
  Gem::Specification.new do |spec|
7
7
  spec.name = "mygasfeed"
8
8
  spec.version = Mygasfeed::VERSION
9
9
  spec.authors = ["Mason Wiley"]
10
10
  spec.email = ["masonwiley92@gmail.com"]
11
-
12
11
  spec.summary = %q{Ruby API client for www.mygasfeed.org}
13
12
  spec.description = %q{Provides a Ruby gem wrapper for MyGasFeed API.}
14
13
  spec.homepage = "https://github.com/mwiley/mygasfeed"
15
14
  spec.license = "MIT"
16
15
 
17
- spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
18
- spec.bindir = "exe"
19
- spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
16
+ spec.files = `git ls-files`.split($/)
17
+ spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
18
+ spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
20
19
  spec.require_paths = ["lib"]
21
20
 
22
21
  spec.add_dependency 'httparty'
23
- spec.add_dependency 'addressable'
24
22
 
25
23
  spec.add_development_dependency "bundler", "~> 1.8"
26
24
  spec.add_development_dependency "rake", "~> 10.0"
@@ -0,0 +1,19 @@
1
+ require 'spec_helper'
2
+
3
+ describe Mygasfeed do
4
+ describe '.get_address' do
5
+ subject { described_class.get_address(lat, lng) }
6
+
7
+ context "when valid params are given" do
8
+ let(:lat) { 45.5092499 }
9
+ let(:lng) { -73.7167247 }
10
+
11
+ context 'when request succeeds' do
12
+ it "should be a Mygasfeed:Location object" do
13
+ expect(subject).to be_a(Mygasfeed::Location)
14
+ end
15
+ end
16
+ end
17
+
18
+ end
19
+ end
@@ -0,0 +1,17 @@
1
+ require 'spec_helper'
2
+
3
+ describe Mygasfeed do
4
+ describe '.get_brands' do
5
+ subject { described_class.get_brands }
6
+
7
+ context 'when request succeeds' do
8
+ it { should be_an Array }
9
+ it { should_not be_empty }
10
+
11
+ it "should contain Mygasfeed:Brand objects" do
12
+ expect(subject.first).to be_a(Mygasfeed::Brand)
13
+ end
14
+ end
15
+
16
+ end
17
+ end
@@ -0,0 +1,23 @@
1
+ require 'spec_helper'
2
+
3
+ describe Mygasfeed do
4
+ describe '.get_close_by' do
5
+ subject { described_class.get_close_by(station_id, limit) }
6
+
7
+ context "when valid params are given" do
8
+ let(:station_id) { 101595 }
9
+ let(:limit) { 5 }
10
+
11
+
12
+ context 'when request succeeds' do
13
+ it { should be_an Array }
14
+ it { should_not be_empty }
15
+
16
+ it "should contain Mygasfeed:Station objects" do
17
+ expect(subject.first).to be_a(Mygasfeed::Station)
18
+ end
19
+ end
20
+ end
21
+
22
+ end
23
+ end
@@ -0,0 +1,18 @@
1
+ require 'spec_helper'
2
+
3
+ describe Mygasfeed do
4
+ describe '.get_details' do
5
+ subject { described_class.get_details station_id }
6
+
7
+ context "when valid params are given" do
8
+ let(:station_id) { 33862 }
9
+
10
+ context 'when request succeeds' do
11
+ it "should be a Mygasfeed:Station object" do
12
+ expect(subject).to be_a(Mygasfeed::Station)
13
+ end
14
+ end
15
+ end
16
+
17
+ end
18
+ end
@@ -0,0 +1,18 @@
1
+ require 'spec_helper'
2
+
3
+ describe Mygasfeed do
4
+ describe '.get_history' do
5
+ subject { described_class.get_history station_id }
6
+
7
+ context "when valid params are given" do
8
+ let(:station_id) { 101595 }
9
+
10
+
11
+ context 'when request succeeds' do
12
+ it { should be_an Array }
13
+
14
+ end
15
+ end
16
+
17
+ end
18
+ end
@@ -0,0 +1,25 @@
1
+ require 'spec_helper'
2
+
3
+ describe Mygasfeed do
4
+ describe '.get_stations' do
5
+ subject { described_class.get_stations(latitude, longitude, distance, fuel_type, sort_by) }
6
+
7
+ context "when valid params are given" do
8
+ let(:latitude) { 39.7400 }
9
+ let(:longitude) { -121.8356 }
10
+ let(:distance) { 1 }
11
+ let(:fuel_type) { "reg" }
12
+ let(:sort_by) { "distance" }
13
+
14
+ context 'when request succeeds' do
15
+ it { should be_an Array }
16
+ it { should_not be_empty }
17
+
18
+ it "should contain Mygasfeed:Station objects" do
19
+ expect(subject.first).to be_a(Mygasfeed::Station)
20
+ end
21
+ end
22
+ end
23
+
24
+ end
25
+ end
@@ -0,0 +1,20 @@
1
+ require 'spec_helper'
2
+
3
+ describe Mygasfeed do
4
+ describe '.update_price' do
5
+ subject { described_class.update_price(price, fuel_type, station_id) }
6
+
7
+ context "when valid params are given" do
8
+ let(:price) { 4.15 }
9
+ let(:fuel_type) { "diesel" }
10
+ let(:station_id) { 110244 }
11
+
12
+ context 'when request succeeds' do
13
+ it "should be a Mygasfeed:Station object" do
14
+ expect(subject).to be_a(Mygasfeed::Station)
15
+ end
16
+ end
17
+ end
18
+
19
+ end
20
+ end
@@ -0,0 +1,7 @@
1
+ require 'spec_helper'
2
+
3
+ describe Mygasfeed do
4
+ it 'has a version number' do
5
+ expect(Mygasfeed::VERSION).not_to be nil
6
+ end
7
+ end
@@ -0,0 +1,22 @@
1
+ require 'spec_helper'
2
+ require 'rspec/its'
3
+
4
+ describe Mygasfeed::Brand do
5
+ describe '.build' do
6
+ subject { described_class.build data }
7
+
8
+ context 'when valid data provided' do
9
+ let(:data) {
10
+ {
11
+ "id" => "123",
12
+ "name" => "Shell"
13
+ }
14
+ }
15
+
16
+ it { should be_a described_class }
17
+ its(:id) { should eq 123 }
18
+ its(:name) { should eq "Shell" }
19
+ end
20
+
21
+ end
22
+ end
@@ -0,0 +1,39 @@
1
+ require 'spec_helper'
2
+ require 'rspec/its'
3
+
4
+ describe Mygasfeed::Location do
5
+ describe '.build' do
6
+ subject { described_class.build data }
7
+
8
+ context 'when valid data provided' do
9
+ let(:data) {
10
+ {
11
+ "country_short" => "CA",
12
+ "lat" => "45.5092499",
13
+ "lng" => "-73.7167247",
14
+ "country_long" => "Canada",
15
+ "region_short" => "QC",
16
+ "region_long" => "Quebec",
17
+ "city_long" => "Saint-Laurent",
18
+ "city_short" => "SL",
19
+ "address" => "14073, Boulevard Cavendish",
20
+ "result" => "OK"
21
+ }
22
+ }
23
+
24
+ it { should be_a described_class }
25
+
26
+ its(:country_short) { should eq "CA" }
27
+ its(:lat) { should eq 45.5092499}
28
+ its(:lng) { should eq -73.7167247 }
29
+ its(:country_long) { should eq "Canada" }
30
+ its(:region_short) { should eq "QC" }
31
+ its(:region_long) { should eq "Quebec" }
32
+ its(:city_long) { should eq "Saint-Laurent" }
33
+ its(:city_short) { should eq "SL" }
34
+ its(:address) { should eq "14073, Boulevard Cavendish" }
35
+ its(:result) { should eq "OK" }
36
+ end
37
+
38
+ end
39
+ end
@@ -0,0 +1,26 @@
1
+ require 'spec_helper'
2
+ require 'rspec/its'
3
+
4
+ describe Mygasfeed::PreviousPrice do
5
+ describe '.build' do
6
+ subject { described_class.build data }
7
+
8
+ context 'when valid data provided' do
9
+ let(:data) {
10
+ {
11
+ "type" => "Pre",
12
+ "price" => "3.33",
13
+ "date" => "1 day ago",
14
+ "via" => "myGasFeed Dev"
15
+ }
16
+ }
17
+
18
+ it { should be_a described_class }
19
+ its(:type) { should eq "Pre"}
20
+ its(:price) { should eq 3.33 }
21
+ its(:date) { should eq "1 day ago" }
22
+ its(:via) { should eq "myGasFeed Dev" }
23
+ end
24
+
25
+ end
26
+ end
@@ -0,0 +1,55 @@
1
+ require 'spec_helper'
2
+ require 'rspec/its'
3
+
4
+ describe Mygasfeed::Station do
5
+ describe '.build' do
6
+ subject { described_class.build data }
7
+
8
+ context 'when valid data provided' do
9
+ let(:data) {
10
+ {
11
+ "country" => "Canada",
12
+ "reg_price" => "3.65",
13
+ "mid_price" => "3.66",
14
+ "pre_price" => "3.67",
15
+ "diesel_price" => "3.68",
16
+ "address" => "3885, Boulevard Saint-Rose",
17
+ "diesel" => "0",
18
+ "id" => "33862",
19
+ "lat" => "45.492367",
20
+ "lng" => "-73.710915",
21
+ "station" => "Shell",
22
+ "region" => "Quebec",
23
+ "city" => "Saint-Laurent",
24
+ "reg_date" => "3 hours ago",
25
+ "mid_date" => "4 hours ago",
26
+ "pre_date" => "5 hours ago",
27
+ "diesel_date" => "6 hours ago",
28
+ "distance" => "1.9km"
29
+ }
30
+ }
31
+
32
+ it { should be_a described_class }
33
+
34
+ its(:country) { should eq "Canada"}
35
+ its(:reg_price) { should eq 3.65 }
36
+ its(:mid_price) { should eq 3.66 }
37
+ its(:pre_price) { should eq 3.67 }
38
+ its(:diesel_price) { should eq 3.68 }
39
+ its(:address) { should eq "3885, Boulevard Saint-Rose" }
40
+ its(:diesel) { should eq false }
41
+ its(:id) { should eq 33862 }
42
+ its(:lat) { should eq 45.492367 }
43
+ its(:lng) { should eq -73.710915 }
44
+ its(:station) { should eq "Shell" }
45
+ its(:region) { should eq "Quebec" }
46
+ its(:city) { should eq "Saint-Laurent" }
47
+ its(:reg_date) { should eq "3 hours ago" }
48
+ its(:mid_date) { should eq "4 hours ago" }
49
+ its(:pre_date) { should eq "5 hours ago" }
50
+ its(:diesel_date) { should eq "6 hours ago" }
51
+ its(:distance) { should eq "1.9km" }
52
+ end
53
+
54
+ end
55
+ end
@@ -0,0 +1,10 @@
1
+ $LOAD_PATH.unshift File.expand_path('../../lib', __FILE__)
2
+ require 'rspec'
3
+ require 'mygasfeed'
4
+
5
+ RSpec.configure do |config|
6
+ config.run_all_when_everything_filtered = true
7
+ config.filter_run :focus
8
+
9
+ config.order = 'random'
10
+ end
metadata CHANGED
@@ -1,12 +1,12 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mygasfeed
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mason Wiley
8
8
  autorequire:
9
- bindir: exe
9
+ bindir: bin
10
10
  cert_chain: []
11
11
  date: 2015-03-04 00:00:00.000000000 Z
12
12
  dependencies:
@@ -24,20 +24,6 @@ dependencies:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
- - !ruby/object:Gem::Dependency
28
- name: addressable
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - ">="
32
- - !ruby/object:Gem::Version
33
- version: '0'
34
- type: :runtime
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - ">="
39
- - !ruby/object:Gem::Version
40
- version: '0'
41
27
  - !ruby/object:Gem::Dependency
42
28
  name: bundler
43
29
  requirement: !ruby/object:Gem::Requirement
@@ -97,7 +83,9 @@ dependencies:
97
83
  description: Provides a Ruby gem wrapper for MyGasFeed API.
98
84
  email:
99
85
  - masonwiley92@gmail.com
100
- executables: []
86
+ executables:
87
+ - console
88
+ - setup
101
89
  extensions: []
102
90
  extra_rdoc_files: []
103
91
  files:
@@ -126,6 +114,19 @@ files:
126
114
  - lib/mygasfeed/resources/station.rb
127
115
  - lib/mygasfeed/version.rb
128
116
  - mygasfeed.gemspec
117
+ - spec/dsl/get_address_spec.rb
118
+ - spec/dsl/get_brands.rb
119
+ - spec/dsl/get_close_by_spec.rb
120
+ - spec/dsl/get_details_spec.rb
121
+ - spec/dsl/get_history_spec.rb
122
+ - spec/dsl/get_stations_spec.rb
123
+ - spec/dsl/update_price_spec.rb
124
+ - spec/mygasfeed_spec.rb
125
+ - spec/resources/brand_spec.rb
126
+ - spec/resources/location_spec.rb
127
+ - spec/resources/previous_price_spec.rb
128
+ - spec/resources/station_spec.rb
129
+ - spec/spec_helper.rb
129
130
  homepage: https://github.com/mwiley/mygasfeed
130
131
  licenses:
131
132
  - MIT
@@ -150,4 +151,17 @@ rubygems_version: 2.2.2
150
151
  signing_key:
151
152
  specification_version: 4
152
153
  summary: Ruby API client for www.mygasfeed.org
153
- test_files: []
154
+ test_files:
155
+ - spec/dsl/get_address_spec.rb
156
+ - spec/dsl/get_brands.rb
157
+ - spec/dsl/get_close_by_spec.rb
158
+ - spec/dsl/get_details_spec.rb
159
+ - spec/dsl/get_history_spec.rb
160
+ - spec/dsl/get_stations_spec.rb
161
+ - spec/dsl/update_price_spec.rb
162
+ - spec/mygasfeed_spec.rb
163
+ - spec/resources/brand_spec.rb
164
+ - spec/resources/location_spec.rb
165
+ - spec/resources/previous_price_spec.rb
166
+ - spec/resources/station_spec.rb
167
+ - spec/spec_helper.rb