has_tracking 0.1.1 → 0.2.0

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/Rakefile CHANGED
@@ -33,7 +33,10 @@ begin
33
33
  gemspec.authors = ["Erlend Finvåg"]
34
34
  gemspec.has_rdoc = false
35
35
  gemspec.add_dependency("json", ">= 1.0")
36
+ gemspec.add_dependency("curb", ">= 0.7.3")
36
37
  end
38
+ Jeweler::GemcutterTasks.new
39
+
37
40
  rescue LoadError
38
41
  puts "Jeweler not available. Install it with: sudo gem install jeweler"
39
42
  end
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.1
1
+ 0.2.0
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.1"
8
+ s.version = "0.2.0"
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{2010-01-14}
12
+ s.date = %q{2010-06-01}
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 = [
@@ -35,7 +35,7 @@ Gem::Specification.new do |s|
35
35
  s.homepage = %q{http://github.com/zircon/has_tracking}
36
36
  s.rdoc_options = ["--charset=UTF-8"]
37
37
  s.require_paths = ["lib"]
38
- s.rubygems_version = %q{1.3.5}
38
+ s.rubygems_version = %q{1.3.7}
39
39
  s.summary = %q{Package tracking for Bring}
40
40
  s.test_files = [
41
41
  "test/has_tracking_test.rb",
@@ -47,13 +47,16 @@ Gem::Specification.new do |s|
47
47
  current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
48
48
  s.specification_version = 3
49
49
 
50
- if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
50
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
51
51
  s.add_runtime_dependency(%q<json>, [">= 1.0"])
52
+ s.add_runtime_dependency(%q<curb>, [">= 0.7.3"])
52
53
  else
53
54
  s.add_dependency(%q<json>, [">= 1.0"])
55
+ s.add_dependency(%q<curb>, [">= 0.7.3"])
54
56
  end
55
57
  else
56
58
  s.add_dependency(%q<json>, [">= 1.0"])
59
+ s.add_dependency(%q<curb>, [">= 0.7.3"])
57
60
  end
58
61
  end
59
62
 
data/init.rb CHANGED
@@ -1,2 +1 @@
1
1
  require "has_tracking"
2
- require "json"
data/lib/has_tracking.rb CHANGED
@@ -1,3 +1,6 @@
1
+ require "json"
2
+ require "curb"
3
+
1
4
  module HasTracking
2
5
  def self.included(base)
3
6
  base.send :extend, ClassMethods
@@ -21,9 +24,10 @@ end
21
24
  class Track
22
25
  def initialize(number)
23
26
  begin
24
- require "open-uri"
25
- buffer = open("http://sporing.bring.no/sporing.json?q=#{number}").read
26
- @result = JSON.parse(buffer)["consignmentSet"][0]["packageSet"][0]
27
+ buffer = Curl::Easy.new("http://sporing.bring.no/sporing.json?q=#{number}")
28
+ buffer.headers["User-Agent"] = "Ruby/#{RUBY_VERSION}"
29
+ buffer.perform
30
+ @result = JSON.parse(buffer.body_str)["consignmentSet"][0]["packageSet"][0]
27
31
  @exists = true
28
32
  rescue OpenURI::HTTPError
29
33
  @exists = false
@@ -37,7 +41,7 @@ class Track
37
41
 
38
42
  def received?
39
43
  begin
40
- if self.events.last["postalcode"].blank?
44
+ if self.events.last["status"] == "DELIVERED"
41
45
  return true
42
46
  else
43
47
  return false
@@ -55,6 +59,7 @@ class Track
55
59
  e["postalcode"] = event["postalCode"]
56
60
  e["date"] = DateTime.parse(event["dateIso"])
57
61
  e["description"] = event["description"]
62
+ e["status"] = event["status"]
58
63
  events << e
59
64
  end
60
65
  if events.length == 0
metadata CHANGED
@@ -1,7 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: has_tracking
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ hash: 23
5
+ prerelease: false
6
+ segments:
7
+ - 0
8
+ - 2
9
+ - 0
10
+ version: 0.2.0
5
11
  platform: ruby
6
12
  authors:
7
13
  - "Erlend Finv\xC3\xA5g"
@@ -9,19 +15,40 @@ autorequire:
9
15
  bindir: bin
10
16
  cert_chain: []
11
17
 
12
- date: 2010-01-14 00:00:00 +00:00
18
+ date: 2010-06-01 00:00:00 +02:00
13
19
  default_executable:
14
20
  dependencies:
15
21
  - !ruby/object:Gem::Dependency
16
22
  name: json
17
- type: :runtime
18
- version_requirement:
19
- version_requirements: !ruby/object:Gem::Requirement
23
+ prerelease: false
24
+ requirement: &id001 !ruby/object:Gem::Requirement
25
+ none: false
20
26
  requirements:
21
27
  - - ">="
22
28
  - !ruby/object:Gem::Version
29
+ hash: 15
30
+ segments:
31
+ - 1
32
+ - 0
23
33
  version: "1.0"
24
- version:
34
+ type: :runtime
35
+ version_requirements: *id001
36
+ - !ruby/object:Gem::Dependency
37
+ name: curb
38
+ prerelease: false
39
+ requirement: &id002 !ruby/object:Gem::Requirement
40
+ none: false
41
+ requirements:
42
+ - - ">="
43
+ - !ruby/object:Gem::Version
44
+ hash: 5
45
+ segments:
46
+ - 0
47
+ - 7
48
+ - 3
49
+ version: 0.7.3
50
+ type: :runtime
51
+ version_requirements: *id002
25
52
  description: Adds quick and dirty package tracking for Bring (Posten Norway)
26
53
  email: erlend.finvag@gmail.com
27
54
  executables: []
@@ -56,21 +83,27 @@ rdoc_options:
56
83
  require_paths:
57
84
  - lib
58
85
  required_ruby_version: !ruby/object:Gem::Requirement
86
+ none: false
59
87
  requirements:
60
88
  - - ">="
61
89
  - !ruby/object:Gem::Version
90
+ hash: 3
91
+ segments:
92
+ - 0
62
93
  version: "0"
63
- version:
64
94
  required_rubygems_version: !ruby/object:Gem::Requirement
95
+ none: false
65
96
  requirements:
66
97
  - - ">="
67
98
  - !ruby/object:Gem::Version
99
+ hash: 3
100
+ segments:
101
+ - 0
68
102
  version: "0"
69
- version:
70
103
  requirements: []
71
104
 
72
105
  rubyforge_project:
73
- rubygems_version: 1.3.5
106
+ rubygems_version: 1.3.7
74
107
  signing_key:
75
108
  specification_version: 3
76
109
  summary: Package tracking for Bring