has_tracking 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.
data/.gitignore CHANGED
@@ -1,2 +1,4 @@
1
1
  test/*.log
2
- test/*.db
2
+ test/*.db
3
+ pkg/*
4
+ *.gem
data/Rakefile CHANGED
@@ -32,6 +32,7 @@ begin
32
32
  gemspec.homepage = "http://github.com/zircon/has_tracking"
33
33
  gemspec.authors = ["Erlend Finvåg"]
34
34
  gemspec.has_rdoc = false
35
+ gemspec.add_dependency("json", ">= 1.0")
35
36
  end
36
37
  rescue LoadError
37
38
  puts "Jeweler not available. Install it with: sudo gem install jeweler"
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.0
1
+ 0.1.1
data/has_tracking.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{has_tracking}
8
- s.version = "0.1.0"
8
+ s.version = "0.1.1"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Erlend Finv\303\245g"]
12
- s.date = %q{2009-11-30}
12
+ s.date = %q{2010-01-14}
13
13
  s.description = %q{Adds quick and dirty package tracking for Bring (Posten Norway)}
14
14
  s.email = %q{erlend.finvag@gmail.com}
15
15
  s.extra_rdoc_files = [
@@ -48,9 +48,12 @@ Gem::Specification.new do |s|
48
48
  s.specification_version = 3
49
49
 
50
50
  if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
51
+ s.add_runtime_dependency(%q<json>, [">= 1.0"])
51
52
  else
53
+ s.add_dependency(%q<json>, [">= 1.0"])
52
54
  end
53
55
  else
56
+ s.add_dependency(%q<json>, [">= 1.0"])
54
57
  end
55
58
  end
56
59
 
data/lib/has_tracking.rb CHANGED
@@ -24,11 +24,17 @@ class Track
24
24
  require "open-uri"
25
25
  buffer = open("http://sporing.bring.no/sporing.json?q=#{number}").read
26
26
  @result = JSON.parse(buffer)["consignmentSet"][0]["packageSet"][0]
27
+ @exists = true
27
28
  rescue OpenURI::HTTPError
29
+ @exists = false
28
30
  return false
29
31
  end
30
32
  end
31
33
 
34
+ def exists?
35
+ return @exists
36
+ end
37
+
32
38
  def received?
33
39
  begin
34
40
  if self.events.last["postalcode"].blank?
@@ -51,7 +57,11 @@ class Track
51
57
  e["description"] = event["description"]
52
58
  events << e
53
59
  end
54
- return events.reverse!
60
+ if events.length == 0
61
+ return false
62
+ else
63
+ return events.reverse!
64
+ end
55
65
  end
56
66
 
57
67
  def details
@@ -8,7 +8,8 @@ class HasTrackingTest < Test::Unit::TestCase
8
8
  end
9
9
 
10
10
  def test_tracking_should_get_package_details
11
- @tracking = Package.first.track
11
+ @package = Package.create(:number => "CH140585246NO")
12
+ @tracking = @package.track
12
13
  assert_equal 0.9, @tracking.details["weight"]
13
14
  assert_equal 26, @tracking.details["length"]
14
15
  assert_equal 18, @tracking.details["height"]
@@ -17,7 +18,8 @@ class HasTrackingTest < Test::Unit::TestCase
17
18
  end
18
19
 
19
20
  def test_tracking_should_get_package_events
20
- @tracking = Package.first.track
21
+ @package = Package.create(:number => "CH140585246NO")
22
+ @tracking = @package.track
21
23
  assert_equal 4, @tracking.events.length
22
24
  assert_equal "OSLO", @tracking.events.first["city"]
23
25
  assert_equal "0024", @tracking.events.first["postalcode"]
@@ -26,6 +28,7 @@ class HasTrackingTest < Test::Unit::TestCase
26
28
  end
27
29
 
28
30
  def test_tracking_should_get_package_received
31
+ @package = Package.create(:number => "CH140585246NO")
29
32
  assert_equal true, Package.first.track.received?
30
33
  end
31
34
  end
data/test/schema.rb CHANGED
@@ -2,6 +2,4 @@ ActiveRecord::Schema.define(:version => 0) do
2
2
  create_table :packages, :force => true do |t|
3
3
  t.string :number
4
4
  end
5
-
6
- Package.create(:number => "CH140585246NO")
7
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: has_tracking
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
  - "Erlend Finv\xC3\xA5g"
@@ -9,10 +9,19 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-11-30 00:00:00 +00:00
12
+ date: 2010-01-14 00:00:00 +00:00
13
13
  default_executable:
14
- dependencies: []
15
-
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: json
17
+ type: :runtime
18
+ version_requirement:
19
+ version_requirements: !ruby/object:Gem::Requirement
20
+ requirements:
21
+ - - ">="
22
+ - !ruby/object:Gem::Version
23
+ version: "1.0"
24
+ version:
16
25
  description: Adds quick and dirty package tracking for Bring (Posten Norway)
17
26
  email: erlend.finvag@gmail.com
18
27
  executables: []