media_monster_client 2.0.4 → 2.0.5

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