fixer_client 0.0.2 → 0.1.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: f377f792a0d1175f3fa975ffdf31d2321664b79f
4
- data.tar.gz: 4d551f74892ed7baa5e81c53a7594425def70b74
3
+ metadata.gz: 6b2804caf3476551d2e77e70a3f4522faec86a2d
4
+ data.tar.gz: 2dbed2d9c37d72811806071fe515de5689576641
5
5
  SHA512:
6
- metadata.gz: 8c797e2e7d191b70e6399a0eea79e500a4364a7fa9e8193c24da7267273d6da2441088d461fc7ee6c8813d5ac8cf3c70e1aa60544bc142dfa273a59a460c5640
7
- data.tar.gz: eaede9a0e2bc6d0b70435afb19851250c6baad1d27b976264c8b3988f0a135822ab8b97bb7117d231b0fae9354f9a2ecb6eacb9c13143340f50184c5b31d335d
6
+ metadata.gz: b6ef6ef9c05f6613645a5ed1151f8c04bec81c71db0a4995ac95c3e691dfb6325a450c2138bfb5ae4b5bfebfd45c59b8d772d8303ecca03da79e029273afb011
7
+ data.tar.gz: 8033f880b90362bee739fe5e3f4cf27c948d919a6c360f1eddcc2757706d24e21bd674fdd451e0f950757f9f95537025e595085cd15d4d39196cd4cfc8de782a
data/.travis.yml ADDED
@@ -0,0 +1,6 @@
1
+ language: ruby
2
+ rvm:
3
+ - "2.1.6"
4
+ - "2.2.1"
5
+ env:
6
+ - TRAVIS=true FIXER_CLIENT_ID=1111111111111111111111111111111111111111111111111111111111111111 FIXER_CLIENT_SECRET=2222222222222222222222222222222222222222222222222222222222222222
data/README.md CHANGED
@@ -1,6 +1,12 @@
1
- # FixerClient
1
+ # Fixer Client
2
2
 
3
- Client lib for the fixer application.
3
+ [![License](https://img.shields.io/badge/license-MIT-blue.svg)](http://opensource.org/licenses/MIT)
4
+ [![Build Status](https://travis-ci.org/PRX/fixer_client.svg?branch=master)](https://travis-ci.org/PRX/fixer_client)
5
+ [![Code Climate](https://codeclimate.com/github/PRX/fixer_client/badges/gpa.svg)](https://codeclimate.com/github/PRX/fixer_client)
6
+ [![Coverage Status](https://coveralls.io/repos/PRX/fixer_client/badge.svg?branch=master)](https://coveralls.io/r/PRX/fixer_client?branch=master)
7
+ [![Dependency Status](https://gemnasium.com/PRX/fixer_client.svg)](https://gemnasium.com/PRX/fixer_client)
8
+
9
+ Client gem for the [Fixer](https://github.com/PRX/fixer.prx.org) application.
4
10
 
5
11
  ## Installation
6
12
 
@@ -76,8 +82,23 @@ j = client.jobs.create(job)
76
82
 
77
83
  ```
78
84
 
85
+ ## License
86
+ [The MIT License](http://opensource.org/licenses/MIT)
87
+
79
88
  ## Contributing
80
89
 
90
+ In a local development environment, you can use a `.env-fixer_client` file that will be loaded to set the required environment variables.
91
+
92
+ For example:
93
+ ```
94
+ touch .env-fixer_client
95
+ echo FIXER_CLIENT_ID=1111111111111111111111111111111111111111111111111111111111111111 >> .env-fixer_client
96
+ echo FIXER_CLIENT_SECRET=2222222222222222222222222222222222222222222222222222222222222222 >> .env-fixer_client
97
+
98
+ # you can also set useful values like this for debugging
99
+ echo EXCON_DEBUG=true
100
+ ```
101
+
81
102
  1. Fork it ( https://github.com/[my-github-username]/fixer_client/fork )
82
103
  2. Create your feature branch (`git checkout -b my-new-feature`)
83
104
  3. Commit your changes (`git commit -am 'Add some feature'`)
data/examples/basic.rb CHANGED
@@ -2,11 +2,12 @@ require 'dotenv'
2
2
  Dotenv.load '.env-fixer_client'
3
3
 
4
4
  require 'fixer_client'
5
+ Fixer.reset!
5
6
 
6
7
  Fixer.configure do |c|
7
- c.client_id = 'yourclientid'
8
- c.client_secret = 'yoursecret'
9
- c.endpoint = 'http://fixer.prx.dev/api/' # default
8
+ c.client_id = ENV['FIXER_CLIENT_ID']
9
+ c.client_secret = ENV['FIXER_CLIENT_SECRET']
10
+ c.endpoint = 'http://fixer.prx.dev/api/'
10
11
  end
11
12
 
12
13
  client = Fixer::Client.new
@@ -0,0 +1,37 @@
1
+ require 'dotenv'
2
+ Dotenv.load '.env-fixer_client'
3
+
4
+ require 'fixer_client'
5
+ Fixer.reset!
6
+
7
+ Fixer.configure do |c|
8
+ c.client_id = ENV['FIXER_CLIENT_ID']
9
+ c.client_secret = ENV['FIXER_CLIENT_SECRET']
10
+ c.endpoint = 'http://fixer.prx.dev/api/'
11
+ end
12
+
13
+ client = Fixer::Client.new
14
+
15
+ job = {
16
+ job: {
17
+ original: 's3://test-fixer/audio.wav',
18
+ job_type: 'audio',
19
+ tasks: [
20
+ sequence: {
21
+ tasks: [
22
+ {
23
+ task_type: 'cut',
24
+ options: { length: 30, fade: 0 }
25
+ },
26
+ {
27
+ task_type: 'transcode',
28
+ options: { format: 'mp3', bit_rate: 64, sample_rate: 44100 },
29
+ result: 's3://test-fixer/audio.mp3'
30
+ }
31
+ ]
32
+ }
33
+ ]
34
+ }
35
+ }
36
+
37
+ j = client.jobs.create(job)
@@ -2,11 +2,12 @@ require 'dotenv'
2
2
  Dotenv.load '.env-fixer_client'
3
3
 
4
4
  require 'fixer_client'
5
+ Fixer.reset!
5
6
 
6
7
  Fixer.configure do |c|
7
8
  c.client_id = ENV['FIXER_CLIENT_ID']
8
9
  c.client_secret = ENV['FIXER_CLIENT_SECRET']
9
- c.endpoint = 'http://fixer-dev.prx.dev/api/'
10
+ c.endpoint = 'http://fixer.prx.dev/api/'
10
11
  end
11
12
 
12
13
  client = Fixer::Client.new
data/fixer_client.gemspec CHANGED
@@ -30,6 +30,7 @@ Gem::Specification.new do |spec|
30
30
  spec.add_development_dependency('rake')
31
31
  spec.add_development_dependency('minitest')
32
32
  spec.add_development_dependency('simplecov')
33
+ spec.add_development_dependency('coveralls')
33
34
  spec.add_development_dependency('webmock')
34
35
  spec.add_development_dependency('dotenv')
35
36
  end
data/lib/fixer/api.rb CHANGED
@@ -76,12 +76,12 @@ module Fixer
76
76
 
77
77
  def create(params={})
78
78
  self.current_options = current_options.merge(args_to_options(params))
79
- request(:post, base_path, {data: params})
79
+ request(:post, base_path, { data: params } )
80
80
  end
81
81
 
82
82
  def update(params={})
83
83
  self.current_options = current_options.merge(args_to_options(params))
84
- request(:put, base_path, {data: params})
84
+ request(:put, base_path, { data: params } )
85
85
  end
86
86
 
87
87
  def delete(params={})
@@ -8,7 +8,7 @@ module Fixer
8
8
  :client_secret,
9
9
  :adapter,
10
10
  :endpoint,
11
- :user_agent,
11
+ :user_agent
12
12
  ].freeze
13
13
 
14
14
  # Adapters are whatever Faraday supports - I like excon alot, so I'm defaulting it
@@ -20,8 +20,8 @@ module Fixer
20
20
  options = {
21
21
  headers: {
22
22
  # generic http headers
23
- 'User-Agent' => user_agent,
24
- 'Accept' => "application/json;charset=utf-8"
23
+ 'User-Agent' => user_agent,
24
+ 'Accept' => 'application/json;charset=utf-8'
25
25
  },
26
26
  ssl: { verify: false },
27
27
  url: endpoint
@@ -31,14 +31,10 @@ module Fixer
31
31
  options.select{|k,v| ALLOWED_OPTIONS.include?(k.to_sym)}
32
32
  end
33
33
 
34
- def connection(opts={})
35
- @token ||= get_token(opts)
36
- end
37
-
38
34
  def connection(options={})
39
35
  Faraday::Connection.new(process_options(options)) do |connection|
40
36
  connection.request :authorization, 'Bearer', get_token(options).token
41
- connection.request :url_encoded
37
+ connection.request :json
42
38
  connection.response :mashify
43
39
  connection.response :logger if options[:debug]
44
40
  connection.response :json
data/lib/fixer/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Fixer
2
- VERSION = "0.0.2"
2
+ VERSION = "0.1.0"
3
3
  end
@@ -6,7 +6,7 @@ describe Fixer::Client do
6
6
 
7
7
  let(:client) { Fixer::Client.new }
8
8
 
9
- let(:job) do
9
+ let(:job_params) do
10
10
  {
11
11
  job: {
12
12
  job_type: 'test',
@@ -14,26 +14,55 @@ describe Fixer::Client do
14
14
  retry_max: 10,
15
15
  retry_delay: 300,
16
16
  tasks: [
17
- {
18
- task_type: 'echo',
19
- label: 'test1',
20
- options: { foo: 'bar' },
21
- call_back: 'http://cms.prx.dev/call_back'
17
+ sequence: {
18
+ tasks: [
19
+ {
20
+ task_type: 'echo',
21
+ label: 'test1',
22
+ options: { foo: 'bar' },
23
+ call_back: 'http://cms.prx.dev/call_back'
24
+ },
25
+ {
26
+ task_type: 'echo',
27
+ label: 'test2',
28
+ options: { bar: 'foo' },
29
+ call_back: 'http://cms.prx.dev/call_back',
30
+ result: 'http://cms.prx.dev/echo.txt'
31
+ }
32
+ ]
22
33
  }
23
34
  ]
24
35
  }
25
36
  }
26
37
  end
27
38
 
39
+ before do
40
+ stub_request(:post, "http://fixer.prx.dev/oauth/token").
41
+ with(:body => {"grant_type"=>"client_credentials"}).
42
+ to_return(
43
+ :status => 200,
44
+ :body => "{\"access_token\":\"4651f8250fb5d21f5dce575894446f003304e2856acad2292daf52a76de5c6e8\",\"token_type\":\"bearer\",\"expires_in\":7200,\"created_at\":#{Time.now.to_i}}",
45
+ :headers => {"Content-Type" => "application/json; charset=utf-8"}
46
+ )
47
+ end
48
+
28
49
  it 'makes a new client' do
29
50
  client.must_be_instance_of Fixer::Client
30
51
  end
31
52
 
32
- # it 'gets a list of jobs' do
33
- # stub_request(:post, "http://fixer.prx.dev/oauth/token").
34
- # with(:body => {"grant_type"=>"client_credentials"}).
35
- # to_return(:status => 200, :body => "", :headers => {})
53
+ it 'gets a list of jobs' do
54
+ stub_request(:get, "http://fixer.prx.dev/api/jobs/").
55
+ with(:headers => {'Accept'=>'application/json;charset=utf-8'}).
56
+ to_return(:status => 200, :body => {}.to_json, :headers => {})
57
+
58
+ jobs = client.jobs.list
59
+ end
60
+
61
+ it 'creates a complex job' do
62
+ stub_request(:post, "http://fixer.prx.dev/api/jobs/").
63
+ with(:headers => { 'Accept' => 'application/json;charset=utf-8', 'Content-Type' => 'application/json' } ).
64
+ to_return(:status => 200, :body => "", :headers => {})
36
65
 
37
- # jobs = client.jobs.list
38
- # end
39
- end
66
+ j = client.jobs.create(job_params)
67
+ end
68
+ end
@@ -3,6 +3,14 @@
3
3
  require 'simplecov'
4
4
  SimpleCov.start
5
5
 
6
+ if ENV['TRAVIS']
7
+ require 'coveralls'
8
+ Coveralls.wear!
9
+ end
10
+
11
+ ENV['FIXER_CLIENT_ID'] = '1111111111111111111111111111111111111111111111111111111111111111'
12
+ ENV['FIXER_CLIENT_SECRET'] = '2222222222222222222222222222222222222222222222222222222222222222'
13
+
6
14
  require 'dotenv'
7
15
  Dotenv.load '.env-fixer_client'
8
16
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fixer_client
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andrew Kuklewicz
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-05-08 00:00:00.000000000 Z
11
+ date: 2015-06-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -164,6 +164,20 @@ dependencies:
164
164
  - - ">="
165
165
  - !ruby/object:Gem::Version
166
166
  version: '0'
167
+ - !ruby/object:Gem::Dependency
168
+ name: coveralls
169
+ requirement: !ruby/object:Gem::Requirement
170
+ requirements:
171
+ - - ">="
172
+ - !ruby/object:Gem::Version
173
+ version: '0'
174
+ type: :development
175
+ prerelease: false
176
+ version_requirements: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - ">="
179
+ - !ruby/object:Gem::Version
180
+ version: '0'
167
181
  - !ruby/object:Gem::Dependency
168
182
  name: webmock
169
183
  requirement: !ruby/object:Gem::Requirement
@@ -200,11 +214,13 @@ extensions: []
200
214
  extra_rdoc_files: []
201
215
  files:
202
216
  - ".gitignore"
217
+ - ".travis.yml"
203
218
  - Gemfile
204
219
  - LICENSE.txt
205
220
  - README.md
206
221
  - Rakefile
207
222
  - examples/basic.rb
223
+ - examples/sequence.rb
208
224
  - examples/transcode.rb
209
225
  - fixer_client.gemspec
210
226
  - lib/fixer.rb