media_monster_client 2.0.4 → 2.0.5

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.
@@ -2,7 +2,6 @@ module MediaMonster
2
2
 
3
3
  class Job < Model
4
4
 
5
- attr_accessor :id
6
5
  attr_accessor :priority # Now supports a numeric value
7
6
  attr_accessor :job_type # which type of job is this? audio to start, video, document, etc.
8
7
  attr_accessor :original # file location
@@ -2,6 +2,9 @@ module MediaMonster
2
2
 
3
3
  class Model
4
4
 
5
+ attr_accessor :id
6
+ attr_accessor :status
7
+
5
8
  def initialize(*args)
6
9
  return unless args
7
10
  if args[0].is_a?(Hash)
@@ -26,36 +26,49 @@ module MediaMonsterClient
26
26
  job ||= MediaMonster::Job.new
27
27
  yield job
28
28
  job.tap do |j|
29
- # puts "posting: #{j.to_json}"
30
- j_str = post(create_url('jobs'), j.to_json, {'Accept'=>'application/json','Content-Type'=>'application/json'}).body
29
+ puts "posting: #{j.to_json}"
30
+ j_str = post(api_url('jobs'), j.to_json, {'Accept'=>'application/json','Content-Type'=>'application/json'}).body
31
31
  json = JSON.parse(j_str)
32
32
  j.id = json['job']['id']
33
33
  end
34
34
  end
35
-
36
- def update_task(task_id, task_status)
37
- json = {'task'=>{'status'=>task_status}}.to_json
38
- put(create_url("tasks/#{task_id.to_i}"), json, {'Accept'=>'application/json', 'Content-Type'=>'application/json'})
35
+
36
+ def update_job(job)
37
+ to_model(MediaMonster::Job, job).tap do |j|
38
+ puts "putting: #{j.to_json}"
39
+ put(model_url(j), j.to_json, {'Accept'=>'application/json','Content-Type'=>'application/json'})
40
+ end
39
41
  end
40
42
 
41
43
  def retry_job(job)
42
- case job
43
- when MediaMonster::Job then job
44
- when Fixnum then MediaMonster::Job.new(:id => job)
45
- when String then MediaMonster::Job.new(:id => job.to_i)
46
- end.tap do |j|
47
- post(retry_url(j), {}, {'Accept'=>'application/json'})
44
+ to_model(MediaMonster::Job, job).tap do |j|
45
+ put("#{model_url(j)}/retry", {}, {'Accept'=>'application/json'})
48
46
  end
49
47
  end
50
48
 
49
+ def update_task(task_id, task_status)
50
+ json = {'task'=>{'status'=>task_status}}.to_json
51
+ put(api_url("tasks/#{task_id.to_i}"), json, {'Accept'=>'application/json', 'Content-Type'=>'application/json'})
52
+ end
53
+
51
54
  protected
52
55
 
53
- def create_url(path)
56
+ def to_model(klass, param)
57
+ case param
58
+ when klass then param
59
+ when Hash then klass.new(param)
60
+ when Fixnum then klass.new(:id => param)
61
+ when String then klass.new(:id => param.to_i)
62
+ else klass.new(param)
63
+ end
64
+ end
65
+
66
+ def api_url(path)
54
67
  "/api/#{version}/#{path}"
55
68
  end
56
69
 
57
- def retry_url(model)
58
- "/api/#{version}/#{model.class.to_s.downcase.pluralize}/#{model.id}/retry"
70
+ def model_url(model)
71
+ api_url("#{model.class.to_s.demodulize.downcase.pluralize}/#{model.id}")
59
72
  end
60
73
 
61
74
  [:delete, :get, :head, :post, :put, :request].each do |method|
@@ -64,15 +77,15 @@ module MediaMonsterClient
64
77
  end
65
78
  end
66
79
 
80
+ def access_token
81
+ @access_token ||= OAuth::AccessToken.new(consumer)
82
+ end
83
+
67
84
  def consumer
68
85
  @consumer ||= OAuth::Consumer.new(key,
69
86
  secret,
70
- :site => "#{scheme || 'http'}://#{host}:#{port}",
71
- :http_method => :get)
72
- end
73
-
74
- def access_token
75
- @access_token ||= OAuth::AccessToken.new(consumer)
87
+ :site => "#{scheme || 'http'}://#{host}:#{port}",
88
+ :http_method => :get)
76
89
  end
77
90
 
78
91
  end
@@ -1,3 +1,3 @@
1
1
  module MediaMonsterClient
2
- VERSION = "2.0.4"
2
+ VERSION = "2.0.5"
3
3
  end
metadata CHANGED
@@ -1,131 +1,135 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: media_monster_client
3
- version: !ruby/object:Gem::Version
4
- hash: 7
3
+ version: !ruby/object:Gem::Version
4
+ version: 2.0.5
5
5
  prerelease:
6
- segments:
7
- - 2
8
- - 0
9
- - 4
10
- version: 2.0.4
11
6
  platform: ruby
12
- authors:
7
+ authors:
13
8
  - Andrew Kuklewicz (kookster)
14
9
  autorequire:
15
10
  bindir: bin
16
11
  cert_chain: []
17
-
18
- date: 2012-08-14 00:00:00 -04:00
19
- default_executable:
20
- dependencies:
21
- - !ruby/object:Gem::Dependency
22
- type: :runtime
23
- prerelease: false
24
- requirement: &id001 !ruby/object:Gem::Requirement
25
- none: false
26
- requirements:
27
- - - ">="
28
- - !ruby/object:Gem::Version
29
- hash: 3
30
- segments:
31
- - 0
32
- version: "0"
12
+ date: 2012-10-25 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
33
15
  name: activesupport
34
- version_requirements: *id001
35
- - !ruby/object:Gem::Dependency
16
+ requirement: !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
36
22
  type: :runtime
37
23
  prerelease: false
38
- requirement: &id002 !ruby/object:Gem::Requirement
24
+ version_requirements: !ruby/object:Gem::Requirement
39
25
  none: false
40
- requirements:
41
- - - ">="
42
- - !ruby/object:Gem::Version
43
- hash: 3
44
- segments:
45
- - 0
46
- version: "0"
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: '0'
30
+ - !ruby/object:Gem::Dependency
47
31
  name: oauth
48
- version_requirements: *id002
49
- - !ruby/object:Gem::Dependency
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ! '>='
36
+ - !ruby/object:Gem::Version
37
+ version: '0'
50
38
  type: :runtime
51
39
  prerelease: false
52
- requirement: &id003 !ruby/object:Gem::Requirement
40
+ version_requirements: !ruby/object:Gem::Requirement
53
41
  none: false
54
- requirements:
55
- - - ">="
56
- - !ruby/object:Gem::Version
57
- hash: 3
58
- segments:
59
- - 0
60
- version: "0"
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '0'
46
+ - !ruby/object:Gem::Dependency
61
47
  name: json
62
- version_requirements: *id003
63
- - !ruby/object:Gem::Dependency
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ! '>='
52
+ - !ruby/object:Gem::Version
53
+ version: '0'
64
54
  type: :runtime
65
55
  prerelease: false
66
- requirement: &id004 !ruby/object:Gem::Requirement
56
+ version_requirements: !ruby/object:Gem::Requirement
67
57
  none: false
68
- requirements:
69
- - - ">="
70
- - !ruby/object:Gem::Version
71
- hash: 3
72
- segments:
73
- - 0
74
- version: "0"
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ - !ruby/object:Gem::Dependency
75
63
  name: i18n
76
- version_requirements: *id004
77
- - !ruby/object:Gem::Dependency
78
- type: :development
64
+ requirement: !ruby/object:Gem::Requirement
65
+ none: false
66
+ requirements:
67
+ - - ! '>='
68
+ - !ruby/object:Gem::Version
69
+ version: '0'
70
+ type: :runtime
79
71
  prerelease: false
80
- requirement: &id005 !ruby/object:Gem::Requirement
72
+ version_requirements: !ruby/object:Gem::Requirement
81
73
  none: false
82
- requirements:
83
- - - ">="
84
- - !ruby/object:Gem::Version
85
- hash: 3
86
- segments:
87
- - 0
88
- version: "0"
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: '0'
78
+ - !ruby/object:Gem::Dependency
89
79
  name: rake
90
- version_requirements: *id005
91
- - !ruby/object:Gem::Dependency
80
+ requirement: !ruby/object:Gem::Requirement
81
+ none: false
82
+ requirements:
83
+ - - ! '>='
84
+ - !ruby/object:Gem::Version
85
+ version: '0'
92
86
  type: :development
93
87
  prerelease: false
94
- requirement: &id006 !ruby/object:Gem::Requirement
88
+ version_requirements: !ruby/object:Gem::Requirement
95
89
  none: false
96
- requirements:
97
- - - ">="
98
- - !ruby/object:Gem::Version
99
- hash: 3
100
- segments:
101
- - 0
102
- version: "0"
90
+ requirements:
91
+ - - ! '>='
92
+ - !ruby/object:Gem::Version
93
+ version: '0'
94
+ - !ruby/object:Gem::Dependency
103
95
  name: test-unit
104
- version_requirements: *id006
105
- - !ruby/object:Gem::Dependency
96
+ requirement: !ruby/object:Gem::Requirement
97
+ none: false
98
+ requirements:
99
+ - - ! '>='
100
+ - !ruby/object:Gem::Version
101
+ version: '0'
106
102
  type: :development
107
103
  prerelease: false
108
- requirement: &id007 !ruby/object:Gem::Requirement
104
+ version_requirements: !ruby/object:Gem::Requirement
109
105
  none: false
110
- requirements:
111
- - - ">="
112
- - !ruby/object:Gem::Version
113
- hash: 3
114
- segments:
115
- - 0
116
- version: "0"
106
+ requirements:
107
+ - - ! '>='
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
110
+ - !ruby/object:Gem::Dependency
117
111
  name: fakeweb
118
- version_requirements: *id007
112
+ requirement: !ruby/object:Gem::Requirement
113
+ none: false
114
+ requirements:
115
+ - - ! '>='
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ none: false
122
+ requirements:
123
+ - - ! '>='
124
+ - !ruby/object:Gem::Version
125
+ version: '0'
119
126
  description: client gem for media monster app
120
- email:
127
+ email:
121
128
  - andrew@prx.org
122
129
  executables: []
123
-
124
130
  extensions: []
125
-
126
131
  extra_rdoc_files: []
127
-
128
- files:
132
+ files:
129
133
  - .gitignore
130
134
  - Gemfile
131
135
  - Rakefile
@@ -139,40 +143,30 @@ files:
139
143
  - media_monster_client.gemspec
140
144
  - test/helper.rb
141
145
  - test/test_media_monster_client.rb
142
- has_rdoc: true
143
- homepage: ""
146
+ homepage: ''
144
147
  licenses: []
145
-
146
148
  post_install_message:
147
149
  rdoc_options: []
148
-
149
- require_paths:
150
+ require_paths:
150
151
  - lib
151
- required_ruby_version: !ruby/object:Gem::Requirement
152
+ required_ruby_version: !ruby/object:Gem::Requirement
152
153
  none: false
153
- requirements:
154
- - - ">="
155
- - !ruby/object:Gem::Version
156
- hash: 3
157
- segments:
158
- - 0
159
- version: "0"
160
- required_rubygems_version: !ruby/object:Gem::Requirement
154
+ requirements:
155
+ - - ! '>='
156
+ - !ruby/object:Gem::Version
157
+ version: '0'
158
+ required_rubygems_version: !ruby/object:Gem::Requirement
161
159
  none: false
162
- requirements:
163
- - - ">="
164
- - !ruby/object:Gem::Version
165
- hash: 3
166
- segments:
167
- - 0
168
- version: "0"
160
+ requirements:
161
+ - - ! '>='
162
+ - !ruby/object:Gem::Version
163
+ version: '0'
169
164
  requirements: []
170
-
171
165
  rubyforge_project:
172
- rubygems_version: 1.4.2
166
+ rubygems_version: 1.8.22
173
167
  signing_key:
174
168
  specification_version: 3
175
169
  summary: client gem for media monster app
176
- test_files:
170
+ test_files:
177
171
  - test/helper.rb
178
172
  - test/test_media_monster_client.rb