carve 0.0.1 → 0.0.2

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