carve 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
data/.gitignore CHANGED
@@ -15,3 +15,5 @@ spec/reports
15
15
  test/tmp
16
16
  test/version_tmp
17
17
  tmp
18
+ .env
19
+ .env*
data/README.md CHANGED
@@ -38,8 +38,21 @@ Replace the url with a url of the PDF or Microsoft Word file you choose.
38
38
 
39
39
  $ Carve::Document.pages("id_of_document")
40
40
 
41
+ ### List Events
42
+
43
+ ```bash
44
+ $ Carve::Event.all
45
+ $ Carve::Event.all(:type => "document.done", :count => 100)
46
+ ```
47
+
41
48
  ## Contributing
42
49
 
50
+ 0. Add your application configuration to your .env file in the root of this project
51
+
52
+ ```bash
53
+ $ echo "CARVE_SECRET_API_KEY=yourkey" > .env
54
+ ```
55
+
43
56
  1. Fork it
44
57
  2. Create your feature branch (`git checkout -b my-new-feature`)
45
58
  3. export CARVE_SECRET_API_KEY="your_test_secret_api_key"
@@ -10,7 +10,7 @@ Gem::Specification.new do |gem|
10
10
  gem.email = ["scott@scottmotte.com"]
11
11
  gem.description = %q{Ruby bindings for the Carve.io API.}
12
12
  gem.summary = %q{Convert documents or webpages to PDF and PNGs}
13
- gem.homepage = "http://carve.io/api"
13
+ gem.homepage = "http://github.com/scottmotte/carve-ruby"
14
14
 
15
15
  gem.add_dependency "faraday"
16
16
  gem.add_dependency "faraday_middleware"
@@ -19,6 +19,7 @@ Gem::Specification.new do |gem|
19
19
  gem.add_development_dependency "pry"
20
20
  gem.add_development_dependency "rake"
21
21
  gem.add_development_dependency "rspec"
22
+ gem.add_development_dependency "dotenv"
22
23
 
23
24
  gem.files = `git ls-files`.split($/)
24
25
  gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
@@ -3,6 +3,7 @@ require "faraday_middleware"
3
3
  require "recursive-open-struct"
4
4
  require "carve/version"
5
5
  require "carve/document"
6
+ require "carve/event"
6
7
 
7
8
  module Carve
8
9
  extend self
@@ -0,0 +1,18 @@
1
+ module Carve
2
+ class Event
3
+ #
4
+ # Api calls
5
+ #
6
+ def self.all(options={})
7
+ url = ["events.json?"]
8
+ url << "type=#{options[:type]}" if options[:type]
9
+ url << "count=#{options[:count]}" if options[:count]
10
+ url << "offset=#{options[:offset]}" if options[:offset]
11
+
12
+ url = url.join("&")
13
+
14
+ response = Carve.request.get url
15
+ RecursiveOpenStruct.new(response.body, :recurse_over_arrays => true)
16
+ end
17
+ end
18
+ end
@@ -1,3 +1,3 @@
1
1
  module Carve
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
@@ -116,4 +116,4 @@ describe Carve::Document do
116
116
  end
117
117
  end
118
118
  end
119
- end
119
+ end
@@ -0,0 +1,52 @@
1
+ require 'spec_helper'
2
+
3
+ describe Carve::Event do
4
+ let(:subject) { Carve::Event }
5
+
6
+ context "incorrect secret api key" do
7
+ before do
8
+ Carve.secret_api_key = "incorrect_secret_api_key"
9
+ end
10
+
11
+ describe "attempt .all" do
12
+ before do
13
+ @response = subject.all
14
+ end
15
+
16
+ it do
17
+ @response.success.should be_false
18
+ @response.error.message.should_not be_empty
19
+ end
20
+ end
21
+ end
22
+
23
+ context "correct secret api key" do
24
+ before do
25
+ Carve.secret_api_key = ENV['CARVE_SECRET_API_KEY']
26
+ end
27
+
28
+ describe ".all" do
29
+ before do
30
+ @response = subject.all(attrs)
31
+ end
32
+
33
+ context "default" do
34
+ let(:attrs) { {} }
35
+
36
+ it do
37
+ @response.success.should be_true
38
+ @response.events.count.should eq 10
39
+ end
40
+ end
41
+
42
+ context "filters" do
43
+ let(:attrs) { {count: 20, type: "document.done"} }
44
+
45
+ it do
46
+ @response.success.should be_true
47
+ @response.events.count.should eq 20
48
+ end
49
+ end
50
+ end
51
+ end
52
+ end
@@ -1,5 +1,5 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe Carve do
4
- it { Carve::VERSION.should eq "0.0.1" }
5
- end
4
+ it { Carve::VERSION.should eq "0.0.2" }
5
+ end
@@ -2,6 +2,8 @@ require 'rubygems'
2
2
  require 'bundler/setup'
3
3
  require 'pry'
4
4
  require 'carve'
5
+ require 'dotenv'
6
+ Dotenv.load
5
7
 
6
8
  Dir[File.expand_path(File.join(File.dirname(__FILE__),'support','**','*.rb'))].each {|f| require f}
7
9
 
@@ -17,4 +19,4 @@ end
17
19
 
18
20
  def set_secret_and_public_api_keys!
19
21
  Carve.secret_api_key = ENV['CARVE_SECRET_API_KEY']
20
- end
22
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: carve
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-04-29 00:00:00.000000000 Z
12
+ date: 2013-06-17 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: faraday
16
- requirement: !ruby/object:Gem::Requirement
16
+ requirement: &16773280 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,15 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
- requirements:
27
- - - ! '>='
28
- - !ruby/object:Gem::Version
29
- version: '0'
24
+ version_requirements: *16773280
30
25
  - !ruby/object:Gem::Dependency
31
26
  name: faraday_middleware
32
- requirement: !ruby/object:Gem::Requirement
27
+ requirement: &16772380 !ruby/object:Gem::Requirement
33
28
  none: false
34
29
  requirements:
35
30
  - - ! '>='
@@ -37,15 +32,10 @@ dependencies:
37
32
  version: '0'
38
33
  type: :runtime
39
34
  prerelease: false
40
- version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
- requirements:
43
- - - ! '>='
44
- - !ruby/object:Gem::Version
45
- version: '0'
35
+ version_requirements: *16772380
46
36
  - !ruby/object:Gem::Dependency
47
37
  name: recursive-open-struct
48
- requirement: !ruby/object:Gem::Requirement
38
+ requirement: &16771960 !ruby/object:Gem::Requirement
49
39
  none: false
50
40
  requirements:
51
41
  - - ! '>='
@@ -53,15 +43,10 @@ dependencies:
53
43
  version: '0'
54
44
  type: :runtime
55
45
  prerelease: false
56
- version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
- requirements:
59
- - - ! '>='
60
- - !ruby/object:Gem::Version
61
- version: '0'
46
+ version_requirements: *16771960
62
47
  - !ruby/object:Gem::Dependency
63
48
  name: pry
64
- requirement: !ruby/object:Gem::Requirement
49
+ requirement: &16771500 !ruby/object:Gem::Requirement
65
50
  none: false
66
51
  requirements:
67
52
  - - ! '>='
@@ -69,15 +54,10 @@ dependencies:
69
54
  version: '0'
70
55
  type: :development
71
56
  prerelease: false
72
- version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
- requirements:
75
- - - ! '>='
76
- - !ruby/object:Gem::Version
77
- version: '0'
57
+ version_requirements: *16771500
78
58
  - !ruby/object:Gem::Dependency
79
59
  name: rake
80
- requirement: !ruby/object:Gem::Requirement
60
+ requirement: &16787420 !ruby/object:Gem::Requirement
81
61
  none: false
82
62
  requirements:
83
63
  - - ! '>='
@@ -85,15 +65,10 @@ dependencies:
85
65
  version: '0'
86
66
  type: :development
87
67
  prerelease: false
88
- version_requirements: !ruby/object:Gem::Requirement
89
- none: false
90
- requirements:
91
- - - ! '>='
92
- - !ruby/object:Gem::Version
93
- version: '0'
68
+ version_requirements: *16787420
94
69
  - !ruby/object:Gem::Dependency
95
70
  name: rspec
96
- requirement: !ruby/object:Gem::Requirement
71
+ requirement: &16787000 !ruby/object:Gem::Requirement
97
72
  none: false
98
73
  requirements:
99
74
  - - ! '>='
@@ -101,12 +76,18 @@ dependencies:
101
76
  version: '0'
102
77
  type: :development
103
78
  prerelease: false
104
- version_requirements: !ruby/object:Gem::Requirement
79
+ version_requirements: *16787000
80
+ - !ruby/object:Gem::Dependency
81
+ name: dotenv
82
+ requirement: &16786540 !ruby/object:Gem::Requirement
105
83
  none: false
106
84
  requirements:
107
85
  - - ! '>='
108
86
  - !ruby/object:Gem::Version
109
87
  version: '0'
88
+ type: :development
89
+ prerelease: false
90
+ version_requirements: *16786540
110
91
  description: Ruby bindings for the Carve.io API.
111
92
  email:
112
93
  - scott@scottmotte.com
@@ -123,12 +104,14 @@ files:
123
104
  - carve.gemspec
124
105
  - lib/carve.rb
125
106
  - lib/carve/document.rb
107
+ - lib/carve/event.rb
126
108
  - lib/carve/version.rb
127
109
  - spec/carve/document_spec.rb
110
+ - spec/carve/event_spec.rb
128
111
  - spec/carve/version_spec.rb
129
112
  - spec/carve_spec.rb
130
113
  - spec/spec_helper.rb
131
- homepage: http://carve.io/api
114
+ homepage: http://github.com/scottmotte/carve-ruby
132
115
  licenses: []
133
116
  post_install_message:
134
117
  rdoc_options: []
@@ -140,20 +123,27 @@ required_ruby_version: !ruby/object:Gem::Requirement
140
123
  - - ! '>='
141
124
  - !ruby/object:Gem::Version
142
125
  version: '0'
126
+ segments:
127
+ - 0
128
+ hash: 4310452240879777070
143
129
  required_rubygems_version: !ruby/object:Gem::Requirement
144
130
  none: false
145
131
  requirements:
146
132
  - - ! '>='
147
133
  - !ruby/object:Gem::Version
148
134
  version: '0'
135
+ segments:
136
+ - 0
137
+ hash: 4310452240879777070
149
138
  requirements: []
150
139
  rubyforge_project:
151
- rubygems_version: 1.8.23
140
+ rubygems_version: 1.8.11
152
141
  signing_key:
153
142
  specification_version: 3
154
143
  summary: Convert documents or webpages to PDF and PNGs
155
144
  test_files:
156
145
  - spec/carve/document_spec.rb
146
+ - spec/carve/event_spec.rb
157
147
  - spec/carve/version_spec.rb
158
148
  - spec/carve_spec.rb
159
149
  - spec/spec_helper.rb