caren-api 0.4.24 → 0.4.25
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/.travis.yml +12 -0
- data/Gemfile +7 -4
- data/Rakefile +1 -6
- data/VERSION +1 -1
- data/caren-api.gemspec +6 -7
- data/lib/caren/base.rb +2 -2
- data/lib/caren/billable.rb +10 -6
- data/lib/caren/caren.rb +5 -5
- metadata +8 -9
- data/.rvmrc +0 -1
- data/Gemfile.lock +0 -66
data/.travis.yml
ADDED
data/Gemfile
CHANGED
@@ -1,13 +1,16 @@
|
|
1
1
|
source "http://rubygems.org"
|
2
2
|
|
3
|
-
gem "i18n"
|
4
|
-
gem "activesupport"
|
5
|
-
gem "builder"
|
3
|
+
gem "i18n"
|
4
|
+
gem "activesupport"
|
5
|
+
gem "builder"
|
6
6
|
gem "rest-client", "1.6.7"
|
7
7
|
|
8
|
+
platforms :jruby do
|
9
|
+
gem "jruby-openssl"
|
10
|
+
end
|
11
|
+
|
8
12
|
group :development do
|
9
13
|
gem "bundler"
|
10
|
-
gem "rcov"
|
11
14
|
gem "capybara"
|
12
15
|
gem "rspec"
|
13
16
|
gem "fakeweb"
|
data/Rakefile
CHANGED
@@ -31,9 +31,4 @@ RSpec::Core::RakeTask.new(:spec) do |spec|
|
|
31
31
|
spec.pattern = FileList['spec/**/*_spec.rb']
|
32
32
|
end
|
33
33
|
|
34
|
-
|
35
|
-
spec.pattern = 'spec/**/*_spec.rb'
|
36
|
-
spec.rcov = true
|
37
|
-
end
|
38
|
-
|
39
|
-
task :default => :spec
|
34
|
+
task :default => :spec
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.4.
|
1
|
+
0.4.25
|
data/caren-api.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = "caren-api"
|
8
|
-
s.version = "0.4.
|
8
|
+
s.version = "0.4.25"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Andre Foeken"]
|
12
|
-
s.date = "2012-02-
|
12
|
+
s.date = "2012-02-09"
|
13
13
|
s.description = "You can use this gem as inspiration of the base of your connections with Caren."
|
14
14
|
s.email = "andre.foeken@nedap.com"
|
15
15
|
s.extra_rdoc_files = [
|
@@ -17,9 +17,8 @@ Gem::Specification.new do |s|
|
|
17
17
|
"README.rdoc"
|
18
18
|
]
|
19
19
|
s.files = [
|
20
|
-
".
|
20
|
+
".travis.yml",
|
21
21
|
"Gemfile",
|
22
|
-
"Gemfile.lock",
|
23
22
|
"LICENSE.txt",
|
24
23
|
"README.rdoc",
|
25
24
|
"Rakefile",
|
@@ -85,8 +84,8 @@ Gem::Specification.new do |s|
|
|
85
84
|
s.add_runtime_dependency(%q<activesupport>, [">= 0"])
|
86
85
|
s.add_runtime_dependency(%q<builder>, [">= 0"])
|
87
86
|
s.add_runtime_dependency(%q<rest-client>, ["= 1.6.7"])
|
87
|
+
s.add_runtime_dependency(%q<jruby-openssl>, [">= 0"])
|
88
88
|
s.add_development_dependency(%q<bundler>, [">= 0"])
|
89
|
-
s.add_development_dependency(%q<rcov>, [">= 0"])
|
90
89
|
s.add_development_dependency(%q<capybara>, [">= 0"])
|
91
90
|
s.add_development_dependency(%q<rspec>, [">= 0"])
|
92
91
|
s.add_development_dependency(%q<fakeweb>, [">= 0"])
|
@@ -96,8 +95,8 @@ Gem::Specification.new do |s|
|
|
96
95
|
s.add_dependency(%q<activesupport>, [">= 0"])
|
97
96
|
s.add_dependency(%q<builder>, [">= 0"])
|
98
97
|
s.add_dependency(%q<rest-client>, ["= 1.6.7"])
|
98
|
+
s.add_dependency(%q<jruby-openssl>, [">= 0"])
|
99
99
|
s.add_dependency(%q<bundler>, [">= 0"])
|
100
|
-
s.add_dependency(%q<rcov>, [">= 0"])
|
101
100
|
s.add_dependency(%q<capybara>, [">= 0"])
|
102
101
|
s.add_dependency(%q<rspec>, [">= 0"])
|
103
102
|
s.add_dependency(%q<fakeweb>, [">= 0"])
|
@@ -108,8 +107,8 @@ Gem::Specification.new do |s|
|
|
108
107
|
s.add_dependency(%q<activesupport>, [">= 0"])
|
109
108
|
s.add_dependency(%q<builder>, [">= 0"])
|
110
109
|
s.add_dependency(%q<rest-client>, ["= 1.6.7"])
|
110
|
+
s.add_dependency(%q<jruby-openssl>, [">= 0"])
|
111
111
|
s.add_dependency(%q<bundler>, [">= 0"])
|
112
|
-
s.add_dependency(%q<rcov>, [">= 0"])
|
113
112
|
s.add_dependency(%q<capybara>, [">= 0"])
|
114
113
|
s.add_dependency(%q<rspec>, [">= 0"])
|
115
114
|
s.add_dependency(%q<fakeweb>, [">= 0"])
|
data/lib/caren/base.rb
CHANGED
@@ -89,7 +89,7 @@ class Caren::Base
|
|
89
89
|
return hash_or_path if hash_or_path.is_a?(Hash)
|
90
90
|
{ :name => File.basename(hash_or_path),
|
91
91
|
:content => Base64.encode64(File.open(hash_or_path).read),
|
92
|
-
:content_type => `file -
|
92
|
+
:content_type => `file -b --mime-type #{hash_or_path}`.gsub(/\n/,"").split(";")[0] }
|
93
93
|
end
|
94
94
|
|
95
95
|
private
|
@@ -101,4 +101,4 @@ class Caren::Base
|
|
101
101
|
super
|
102
102
|
end
|
103
103
|
|
104
|
-
end
|
104
|
+
end
|
data/lib/caren/billable.rb
CHANGED
@@ -12,18 +12,20 @@ class Caren::Billable < Caren::Base
|
|
12
12
|
:unit, # String (piece, minute, hour)
|
13
13
|
:price_with_vat_in_cents, # Integer
|
14
14
|
:currency, # String (EUR,USD)
|
15
|
-
:rounding, # Integer (in
|
16
|
-
:min_amount, # Integer (in
|
17
|
-
:default_amount, # Integer (in
|
15
|
+
:rounding, # Integer (in seconds)
|
16
|
+
:min_amount, # Integer (in seconds)
|
17
|
+
:default_amount, # Integer (in seconds)
|
18
|
+
:piece_duration, # Integer (in seconds)
|
18
19
|
:vat_promillage, # Integer
|
19
20
|
:type, # String (Store::Product,Store::Service,Store::ChatSession)
|
20
21
|
:status, # String (pending, active)
|
21
22
|
:send_reminder_subject, # Boolean
|
22
23
|
:send_reminder_person, # Boolean
|
23
|
-
:send_reminder_in_advance,# Integer (in
|
24
|
+
:send_reminder_in_advance,# Integer (in seconds)
|
24
25
|
:plannable_by_subject, # Boolean
|
25
|
-
:plannable_margin_before, # Integer (in
|
26
|
-
:plannable_margin_after, # Integer (in
|
26
|
+
:plannable_margin_before, # Integer (in seconds)
|
27
|
+
:plannable_margin_after, # Integer (in seconds)
|
28
|
+
:plannable_max_duration, # Integer (in seconds)
|
27
29
|
:valid_from, # Date
|
28
30
|
:valid_to # Date
|
29
31
|
] + super
|
@@ -66,6 +68,7 @@ class Caren::Billable < Caren::Base
|
|
66
68
|
:rounding => self.rounding,
|
67
69
|
:vat_promillage => self.vat_promillage,
|
68
70
|
:external_id => self.external_id,
|
71
|
+
:piece_duration => self.piece_duration,
|
69
72
|
:min_amount => self.min_amount,
|
70
73
|
:default_amount => self.default_amount,
|
71
74
|
:send_reminder_subject => self.send_reminder_subject,
|
@@ -74,6 +77,7 @@ class Caren::Billable < Caren::Base
|
|
74
77
|
:plannable_by_subject => self.plannable_by_subject,
|
75
78
|
:plannable_margin_before => self.plannable_margin_before,
|
76
79
|
:plannable_margin_after => self.plannable_margin_after,
|
80
|
+
:plannable_max_duration => self.plannable_max_duration,
|
77
81
|
:valid_from => self.valid_from,
|
78
82
|
:valid_to => self.valid_to
|
79
83
|
}
|
data/lib/caren/caren.rb
CHANGED
@@ -168,7 +168,7 @@ module Caren
|
|
168
168
|
# Timestamp is UNIX timestamp seconds since 1970
|
169
169
|
def sign timestamp, path=nil, string=nil, private_key=self.private_key
|
170
170
|
path = URI.parse(path).path if path
|
171
|
-
encrypted_digest = private_key.sign(
|
171
|
+
encrypted_digest = private_key.sign( OpenSSL::Digest::SHA1.new, path.to_s + string.to_s + timestamp.to_s )
|
172
172
|
signature = CGI.escape(Base64.encode64(encrypted_digest))
|
173
173
|
return signature
|
174
174
|
end
|
@@ -183,11 +183,11 @@ module Caren
|
|
183
183
|
def verify_signature signature, timestamp, path, string=nil, public_key=self.caren_public_key
|
184
184
|
return false unless public_key
|
185
185
|
signature = Base64.decode64(CGI.unescape(signature.to_s))
|
186
|
-
public_key.verify(
|
186
|
+
public_key.verify( OpenSSL::Digest::SHA1.new, signature, path.to_s + string.to_s + timestamp.to_s )
|
187
187
|
end
|
188
188
|
|
189
189
|
def create_photo_signature url_shortcut, external_or_caren_id, private_key=self.private_key
|
190
|
-
digest = OpenSSL::PKey::RSA.new(private_key).sign(
|
190
|
+
digest = OpenSSL::PKey::RSA.new(private_key).sign( OpenSSL::Digest::SHA1.new, url_shortcut.to_s + external_or_caren_id.to_s )
|
191
191
|
return CGI.escape(Base64.encode64(digest))
|
192
192
|
end
|
193
193
|
|
@@ -195,7 +195,7 @@ module Caren
|
|
195
195
|
def verify_photo_signature signature, url_shortcut, external_id, public_key=self.caren_public_key
|
196
196
|
return false unless public_key
|
197
197
|
signature = Base64.decode64(CGI.unescape(signature.to_s))
|
198
|
-
public_key.verify(
|
198
|
+
public_key.verify( OpenSSL::Digest::SHA1.new, signature, url_shortcut.to_s + external_id.to_s )
|
199
199
|
end
|
200
200
|
|
201
201
|
private
|
@@ -217,4 +217,4 @@ module Caren
|
|
217
217
|
|
218
218
|
end
|
219
219
|
|
220
|
-
end
|
220
|
+
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: caren-api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 61
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 4
|
9
|
-
-
|
10
|
-
version: 0.4.
|
9
|
+
- 25
|
10
|
+
version: 0.4.25
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Andre Foeken
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2012-02-
|
18
|
+
date: 2012-02-09 00:00:00 Z
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
21
21
|
requirement: &id001 !ruby/object:Gem::Requirement
|
@@ -86,9 +86,9 @@ dependencies:
|
|
86
86
|
- 0
|
87
87
|
version: "0"
|
88
88
|
version_requirements: *id005
|
89
|
-
name:
|
89
|
+
name: jruby-openssl
|
90
90
|
prerelease: false
|
91
|
-
type: :
|
91
|
+
type: :runtime
|
92
92
|
- !ruby/object:Gem::Dependency
|
93
93
|
requirement: &id006 !ruby/object:Gem::Requirement
|
94
94
|
none: false
|
@@ -100,7 +100,7 @@ dependencies:
|
|
100
100
|
- 0
|
101
101
|
version: "0"
|
102
102
|
version_requirements: *id006
|
103
|
-
name:
|
103
|
+
name: bundler
|
104
104
|
prerelease: false
|
105
105
|
type: :development
|
106
106
|
- !ruby/object:Gem::Dependency
|
@@ -169,9 +169,8 @@ extra_rdoc_files:
|
|
169
169
|
- LICENSE.txt
|
170
170
|
- README.rdoc
|
171
171
|
files:
|
172
|
-
- .
|
172
|
+
- .travis.yml
|
173
173
|
- Gemfile
|
174
|
-
- Gemfile.lock
|
175
174
|
- LICENSE.txt
|
176
175
|
- README.rdoc
|
177
176
|
- Rakefile
|
data/.rvmrc
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
rvm use 1.8.7@caren-api
|
data/Gemfile.lock
DELETED
@@ -1,66 +0,0 @@
|
|
1
|
-
GEM
|
2
|
-
remote: http://rubygems.org/
|
3
|
-
specs:
|
4
|
-
activesupport (3.1.1)
|
5
|
-
multi_json (~> 1.0)
|
6
|
-
builder (3.0.0)
|
7
|
-
capybara (1.1.1)
|
8
|
-
mime-types (>= 1.16)
|
9
|
-
nokogiri (>= 1.3.3)
|
10
|
-
rack (>= 1.0.0)
|
11
|
-
rack-test (>= 0.5.4)
|
12
|
-
selenium-webdriver (~> 2.0)
|
13
|
-
xpath (~> 0.1.4)
|
14
|
-
childprocess (0.2.2)
|
15
|
-
ffi (~> 1.0.6)
|
16
|
-
diff-lcs (1.1.3)
|
17
|
-
fakeweb (1.3.0)
|
18
|
-
ffi (1.0.9)
|
19
|
-
git (1.2.5)
|
20
|
-
i18n (0.6.0)
|
21
|
-
jeweler (1.6.4)
|
22
|
-
bundler (~> 1.0)
|
23
|
-
git (>= 1.2.5)
|
24
|
-
rake
|
25
|
-
json_pure (1.6.1)
|
26
|
-
mime-types (1.17.1)
|
27
|
-
multi_json (1.0.3)
|
28
|
-
nokogiri (1.5.0)
|
29
|
-
rack (1.3.5)
|
30
|
-
rack-test (0.6.1)
|
31
|
-
rack (>= 1.0)
|
32
|
-
rake (0.9.2.2)
|
33
|
-
rcov (0.9.11)
|
34
|
-
rest-client (1.6.7)
|
35
|
-
mime-types (>= 1.16)
|
36
|
-
rspec (2.7.0)
|
37
|
-
rspec-core (~> 2.7.0)
|
38
|
-
rspec-expectations (~> 2.7.0)
|
39
|
-
rspec-mocks (~> 2.7.0)
|
40
|
-
rspec-core (2.7.1)
|
41
|
-
rspec-expectations (2.7.0)
|
42
|
-
diff-lcs (~> 1.1.2)
|
43
|
-
rspec-mocks (2.7.0)
|
44
|
-
rubyzip (0.9.4)
|
45
|
-
selenium-webdriver (2.9.1)
|
46
|
-
childprocess (>= 0.2.1)
|
47
|
-
ffi (= 1.0.9)
|
48
|
-
json_pure
|
49
|
-
rubyzip
|
50
|
-
xpath (0.1.4)
|
51
|
-
nokogiri (~> 1.3)
|
52
|
-
|
53
|
-
PLATFORMS
|
54
|
-
ruby
|
55
|
-
|
56
|
-
DEPENDENCIES
|
57
|
-
activesupport
|
58
|
-
builder
|
59
|
-
bundler
|
60
|
-
capybara
|
61
|
-
fakeweb
|
62
|
-
i18n
|
63
|
-
jeweler
|
64
|
-
rcov
|
65
|
-
rest-client (= 1.6.7)
|
66
|
-
rspec
|