argonuts-ruby 0.1.0 → 0.1.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ab46eeb7dec91ab90a48e01bf6082116a8eb941b4777104d5b4d388952d1cbfb
4
- data.tar.gz: 496bd20b0cb8c7f9a8556684840a1a3e91ae2eb9340f7da81b4bde6bbe21ad31
3
+ metadata.gz: 8f8e2a68fc344e060726da5927b02d9cf98f524f1445972648893e224aed869f
4
+ data.tar.gz: 7ee74e811fc91535f2526a2e7aed4bea495054ebd3acd909defcd11caeedd8f6
5
5
  SHA512:
6
- metadata.gz: f55e87dda4006506fd344ef0706f46bc1d8bd269102d8e7afdc9a33ed2ab28b85e83ab02b18c1ba1a63a84db31ad2403eeae6c3c6a8748ccb53fbbeda1dd81a7
7
- data.tar.gz: f28df646ced2df3ecea1c6ec7e6659f054a98a89c12fabcb53fdb7c30237a8baa42debebbd6be438b146037740e589d5bd381f6d78babd5cb7d87068dff25e18
6
+ metadata.gz: 21589065fa54df1fabf446050acb0cda07696fc90e3f4f2fce81096f74ae95b0dc67437b799c0344a524b6bd58c5a6ab40d03d5af12352e47d6166238b73c902
7
+ data.tar.gz: 36e10d5e2fc59331b730df88aa874cc61241cb92f8f8627cf11035da9b2cf581f1632c4e6195b5a45d0c3042c6079eb2da0538306223f918d3045382b57b50df
data/README.md CHANGED
@@ -30,14 +30,13 @@ bundle install
30
30
 
31
31
  ## Usage
32
32
 
33
- The library needs you to set your API key which can be found in your [dashboard](https://argonuts.co/dashboard).
33
+ The library needs you to set your API key which can be found in your [profile](https://argonuts.co/profile).
34
34
 
35
35
 
36
36
  ```ruby
37
37
  Argonuts.api_key = 'api-key'
38
38
 
39
39
  Argonuts.notification = {
40
- type: "http",
41
40
  url: "https://yoursite.co/api/argonuts/webhook"
42
41
  }
43
42
 
@@ -49,7 +48,7 @@ Argonuts.storage = {
49
48
  ## Creating a job
50
49
 
51
50
  ```ruby
52
- Argonuts::Job.create(
51
+ job = Argonuts::Job.create({
53
52
  input: { url: "https://yoursite.co/path/file.mp4" },
54
53
  outputs: {
55
54
  "jpg:300x": { path: "/image.jpg" },
@@ -58,27 +57,13 @@ Argonuts::Job.create(
58
57
  hls: { path: "hls/" }
59
58
  }
60
59
  }
61
- )
60
+ })
62
61
  ```
63
62
 
64
63
  ## Getting information about a job
65
64
 
66
65
  ```ruby
67
- Argonuts::Job.retrieve("OolQXaiU86NFki")
68
- ```
69
-
70
- ## Retrieving metadata
71
-
72
- ```ruby
73
- Argonuts::Metadata.retrieve("OolQXaiU86NFki")
74
-
75
- ```
76
-
77
- ## Per-request configuration
78
-
79
- ```ruby
80
- cli = Argonuts::Client.new(api_key: "api-key-prod")
81
- Argonuts::Job.create(job, client: cli)
66
+ Argonuts::Job.retrieve(job.id)
82
67
  ```
83
68
 
84
69
  *Released under the [MIT license](http://www.opensource.org/licenses/mit-license.php).*
data/Rakefile ADDED
@@ -0,0 +1,10 @@
1
+ require "rake/testtask"
2
+
3
+ Rake::TestTask.new do |t|
4
+ t.libs << "test"
5
+ t.test_files = FileList['test/*.rb']
6
+ # t.verbose = true
7
+ end
8
+
9
+ desc "Run tests"
10
+ task default: :test
data/lib/argonuts/api.rb CHANGED
@@ -1,4 +1,6 @@
1
- require "http"
1
+ require "net/http"
2
+ require "base64"
3
+ require "json"
2
4
 
3
5
  module Argonuts
4
6
  # Argonuts::API is responsible for making API requests.
@@ -9,30 +11,35 @@ module Argonuts
9
11
  raise Argonuts::Error, "You must specify an API key with Argonuts.api_key="
10
12
  end
11
13
 
12
- HTTP.basic_auth(user: cli.api_key, pass: "").
13
- headers(:user_agent => "Argonuts/v1 RubyBindings/#{Argonuts::VERSION}")
14
+ {
15
+ 'X-Auth-Token': cli.api_key,
16
+ 'User-Agent': "Argonuts/#{Argonuts::VERSION}",
17
+ }
14
18
  end
15
19
 
16
- def self.request(verb, path, options={})
20
+ def self.request(verb, path, options = {})
17
21
  cli = options[:client] || Argonuts.default_client
18
22
 
23
+ url = URI("#{cli.endpoint}#{path}")
24
+ http = Net::HTTP.new(url.host, url.port)
25
+
19
26
  case verb
20
27
  when :get
21
- resp = headers(cli).get("#{cli.endpoint}#{path}")
28
+ request = Net::HTTP::Get.new(url, 'Content-Type' => 'application/json')
22
29
  when :post
23
- resp = headers(cli).post("#{cli.endpoint}#{path}", json: options[:json])
30
+ request = Net::HTTP::Post.new(url, 'Content-Type' => 'application/json')
31
+ request.body = options[:json].to_json
24
32
  end
25
33
 
26
- if resp.code > 399
34
+ headers(cli).map { |k, v| request[k] = v }
35
+ resp = http.request(request)
36
+
37
+ if resp.code.to_i > 399
27
38
  # if response is 400 or 401, we return the error message and error code
28
- if resp.code.between?(400, 401)
29
- raise Argonuts::Error, "#{resp.parse["message"]} (code=#{resp.parse["error_code"]})"
30
- else
31
- raise Argonuts::Error, "Server returned HTTP status #{resp.code}."
32
- end
39
+ raise Argonuts::Error, "Server returned HTTP status #{resp.code}."
33
40
  end
34
41
 
35
- return resp.parse
42
+ return JSON::parse(resp.body)
36
43
  end
37
44
  end
38
45
  end
@@ -1,18 +1,18 @@
1
1
  module Argonuts
2
2
  def self.default_client
3
3
  Client.new({
4
- api_key: Argonuts.api_key,
5
- region: Argonuts.region,
6
- endpoint: Argonuts.endpoint
7
- })
4
+ api_key: Argonuts.api_key,
5
+ # region: Argonuts.region,
6
+ endpoint: Argonuts.endpoint
7
+ })
8
8
  end
9
9
 
10
10
  class Client
11
- attr_accessor :api_key, :endpoint, :region
11
+ attr_accessor :api_key, :endpoint #, :region
12
12
 
13
- def initialize(options={})
13
+ def initialize(options = {})
14
14
  @api_key = options[:api_key]
15
- @region = options[:region]
15
+ # @region = options[:region]
16
16
  @endpoint = options[:endpoint]
17
17
  end
18
18
 
@@ -1,3 +1,3 @@
1
1
  module Argonuts
2
- VERSION = "0.1.0"
2
+ VERSION = "0.1.3"
3
3
  end
data/lib/argonuts-ruby.rb CHANGED
@@ -6,7 +6,7 @@ require "argonuts/metadata"
6
6
  require "argonuts/version"
7
7
 
8
8
  module Argonuts
9
- ENDPOINT = "https://argonuts.co/api/v1"
9
+ ENDPOINT = "https://argonuts.co/api/v1/"
10
10
 
11
11
  def self.api_key=(key)
12
12
  @api_key = key
@@ -16,13 +16,13 @@ module Argonuts
16
16
  @api_key
17
17
  end
18
18
 
19
- def self.region=(region)
20
- @region = region
21
- end
22
-
23
- def self.region
24
- @region
25
- end
19
+ # def self.region=(region)
20
+ # @region = region
21
+ # end
22
+ #
23
+ # def self.region
24
+ # @region
25
+ # end
26
26
 
27
27
  def self.endpoint=(endpoint)
28
28
  @endpoint = endpoint
@@ -11,16 +11,19 @@ class ArgonutsTest < Test::Unit::TestCase
11
11
  Argonuts.endpoint = ENV["ARGONUTS_ENDPOINT"]
12
12
 
13
13
  Argonuts.notification = {
14
- type: "http",
15
14
  url: ENV["ARGONUTS_WEBHOOK_URL"]
16
15
  }
16
+
17
+ Argonuts.storage = {
18
+ url: ENV["ARGONUTS_STORAGE_URL"],
19
+ }
17
20
  end
18
21
 
19
22
  def create_job(j={}, options={})
20
23
  Argonuts::Job.create({
21
24
  input: { url: INPUT_URL },
22
25
  outputs: {
23
- mp4: { path: "/test_create_job.mp4", duration: 1 }
26
+ mp4: { path: "/test_create_job.mp4" }
24
27
  }
25
28
  }.merge(j), options)
26
29
  end
@@ -55,18 +58,18 @@ class ArgonutsTest < Test::Unit::TestCase
55
58
  assert_equal "job.starting", job.status
56
59
  end
57
60
 
58
- def test_create_job_error
59
- create_job(input: {url: "notvalidurl"})
60
- rescue => e
61
- assert_equal e.class, Argonuts::Error
62
- end
63
-
64
- def test_retrieve_metadata
65
- job = create_job
66
- sleep 10
67
-
68
- md = Argonuts::Metadata.retrieve(job.id)
69
- assert md.is_a?(Hash)
70
- assert_not_nil md["metadata"]["input"]
71
- end
61
+ # def test_create_job_error
62
+ # create_job(input: {url: "notvalidurl"})
63
+ # rescue => e
64
+ # assert_equal e.class, Argonuts::Error
65
+ # end
66
+ #
67
+ # def test_retrieve_metadata
68
+ # job = create_job
69
+ # sleep 10
70
+ #
71
+ # md = Argonuts::Metadata.retrieve(job.id)
72
+ # assert md.is_a?(Hash)
73
+ # assert_not_nil md["metadata"]["input"]
74
+ # end
72
75
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: argonuts-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Argonuts
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-09-01 00:00:00.000000000 Z
11
+ date: 2022-09-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: http
@@ -31,6 +31,7 @@ extensions: []
31
31
  extra_rdoc_files: []
32
32
  files:
33
33
  - README.md
34
+ - Rakefile
34
35
  - argonuts-ruby.gemspec
35
36
  - lib/argonuts-ruby.rb
36
37
  - lib/argonuts/api.rb