has_tracking 0.1.1 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
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