argonuts-ruby 0.1.0 → 0.1.3

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
  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