octonore 0.0.3 → 1.0.0

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
  SHA1:
3
- metadata.gz: 07233694c096c366e80590fcdf3f1b1f939eb635
4
- data.tar.gz: 7b77b9903b047452ec932f2002672341497470db
3
+ metadata.gz: 857448e04e2caf963fc6306c6801dbb635c79349
4
+ data.tar.gz: abcc6c6503efb8ff2e8c883224dbb73cfd212139
5
5
  SHA512:
6
- metadata.gz: 5e0f37b5874a1205f734eb1dfe55ff0e8481f4ca627b9afdf3b72b969cfc9fb9ecacffde7db991fd1b7777b9dc4e95498c816aeaa685551d1ad0fa6194dd73a7
7
- data.tar.gz: 019e9604fd33ecba86a11f757ccbb64e0dbb72bfe6c0bdd8e2bd5b3998800255ffb5c5577489f55877bb3a9a767ad70ac0c30ad3d4a898ce59f3cfc9aa7fdae5
6
+ metadata.gz: 54ba7afc989cc26b0d93088eeedc398e159dc6d683add35fde6f7168c4bfe4532e98df360a8d83b6aac4cd773c25311cda90f3a0982be6b64d707dcd3104941c
7
+ data.tar.gz: 769883d03b56feb349670202e44f689c1f28ff62292186e5a56dac9935b558c08f2183d59c21980207a5d085f7835732a15f896b90a38e4c271364dcda0d3dda
data/.rspec ADDED
@@ -0,0 +1,3 @@
1
+ --color
2
+ --fail-fast
3
+ --order random
data/CHANGELOG.md ADDED
@@ -0,0 +1,10 @@
1
+ CHANGELOG
2
+ =========
3
+
4
+ 1.0.0
5
+ -----
6
+
7
+ Initial feature set:
8
+
9
+ * List available gitignore templates.
10
+ * Get gitignore templates from Github.
data/Gemfile CHANGED
@@ -1,11 +1,11 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
- gem 'httparty', '~> 0.11.0'
4
-
5
- group :test do
3
+ group :development, :test do
6
4
  gem "rspec", "~> 2.13.0"
7
5
  gem "webmock", "~> 1.11.0"
8
6
  gem "vcr", "~> 2.5.0"
9
7
  gem "rake", "~> 10.0.4"
10
8
  gem "coveralls", "~> 0.6.7", require: false
11
9
  end
10
+
11
+ gemspec
data/README.md CHANGED
@@ -1,7 +1,7 @@
1
1
  Octonore [![Build Status](https://travis-ci.org/zachlatta/octonore.png?branch=master)](https://travis-ci.org/zachlatta/octonore) [![Code Climate](https://codeclimate.com/github/zachlatta/octonore.png)](https://codeclimate.com/github/zachlatta/octonore) [![Coverage Status](https://coveralls.io/repos/zachlatta/octonore/badge.png?branch=master)](https://coveralls.io/r/zachlatta/octonore?branch=master) [![Dependency Status](https://gemnasium.com/zachlatta/octonore.png)](https://gemnasium.com/zachlatta/octonore)
2
2
  ========
3
3
 
4
- An octolicious wrapper around the [Gitignore templates API](http://developer.github.com/v3/gitignore/).
4
+ An octolicious wrapper around the [Gitignore Templates API](http://developer.github.com/v3/gitignore/).
5
5
 
6
6
  $ gem install octonore
7
7
 
@@ -9,6 +9,12 @@ An octolicious wrapper around the [Gitignore templates API](http://developer.git
9
9
  Usage
10
10
  -----
11
11
 
12
+ List the available templates by calling `Template`'s list method.
13
+
14
+ >> Octonore::Template.list
15
+ => ["Actionscript", "Android", "AppceleratorTitanium", "Autotools", "Bancha", "
16
+ C", "C++", "CFWheels", "CMake", "CSharp", "CakePHP", "Clojure", "CodeIgniter...
17
+
12
18
  To get a gitignore template you first need to instantiate it.
13
19
 
14
20
  >> c_template = Octonore::Template.new('C')
@@ -0,0 +1,7 @@
1
+ module Octonore
2
+
3
+ # Raised when Github returns JSON containing "Not Found" when requesting
4
+ # a Gitignore template.
5
+ class GitignoreTemplateNotFoundError < StandardError; end
6
+
7
+ end
@@ -0,0 +1,26 @@
1
+ require 'singleton'
2
+
3
+ module Octonore
4
+
5
+ class HTTPHelper
6
+ include Singleton
7
+ include HTTParty
8
+
9
+ USER_AGENT = "octonore/#{VERSION}"
10
+
11
+ base_uri 'https://api.github.com/gitignore'
12
+
13
+ # Get the specified template's hash from Github.
14
+ # @param location [String] location of resource to get
15
+ # @return [Hash] whatever is gotten
16
+ def get(location)
17
+ self.class.get location, headers: headers
18
+ end
19
+
20
+ def headers
21
+ {"User-Agent" => USER_AGENT}
22
+ end
23
+
24
+ end
25
+
26
+ end
@@ -1,34 +1,59 @@
1
1
  module Octonore
2
2
 
3
- # A gitignore template. Templates consist of a name and source.
3
+ # A gitignore template. Templates have two attributes: a
4
+ # name and a source.
4
5
  class Template
5
6
 
6
7
  attr_accessor :name, :source
7
8
 
8
- include HTTParty
9
-
10
- USER_AGENT = "octocore/#{VERSION}"
11
-
12
- base_uri 'https://api.github.com/gitignore'
9
+ # List available templates
10
+ #
11
+ # Example:
12
+ # >> Octonore::Template.list
13
+ #
14
+ # @return [Array] The available gitignore templates.
15
+ def self.list
16
+ raw_list = Octonore::HTTPHelper.instance.get("/templates")
17
+ parsed_list = raw_list.parsed_response
18
+ end
13
19
 
14
20
  # Create a new template.
15
21
  #
16
22
  # Example:
17
23
  # c_template = Octonore::Template.new('C')
18
- # java_template = Octonore::Template.new('Java')
24
+ # java_template = Octonore::Template.new('java')
19
25
  #
20
- # Arguments:
21
- # name: (String)
22
-
26
+ # @param name [String] name of template to create
27
+ # @return [String] Contents of template.
23
28
  def initialize(name)
24
- self.name = name
25
- update
29
+ # Get two arrays of all of the names of templates available. Downcase
30
+ # one.
31
+ list = self.class.list
32
+ down_list = list.map(&:downcase)
33
+ # Create a hash from the lowercase names to the normal names so we can
34
+ # make the user-specified name case-insensitive.
35
+ list_hash = Hash[down_list.zip(list)]
36
+
37
+ # Downcase the the user's name selection and get the matching normal
38
+ # name in the list_hash
39
+ self.name = list_hash[name.downcase]
40
+ # Retrieve the information from Github for their template
41
+ reload
26
42
  end
27
43
 
28
- # Update the Gitignore source from Github.
29
-
30
- def update
31
- data = get_data
44
+ # Reload the Gitignore source from Github.
45
+ #
46
+ # Example:
47
+ # >> outdated_template.source = nil
48
+ # => nil
49
+ # >> outdated_template.reload
50
+ # => "# Object files\n*.o\n\n# Libraries\n*.lib..."
51
+ # >> outdated_template.source
52
+ # => "# Object files\n*.o\n\n# Libraries\n*.lib..."
53
+ #
54
+ # @return [String] Contents of template.
55
+ def reload
56
+ data = get_template_hash @name
32
57
 
33
58
  if valid_template_hash? data
34
59
  @source = data["source"]
@@ -39,23 +64,27 @@ module Octonore
39
64
  end
40
65
 
41
66
 
42
- private
43
-
44
- def get_data
45
- self.class.get "/templates/#{self.name}", headers: headers
46
- end
67
+ protected
47
68
 
69
+ # Verify that the template doesn't contain "Not Found"
70
+ #
71
+ # @param [Hash] The template's hash.
72
+ # @return [Boolean] Whether the template doesn't contain "Not Found"
48
73
  def valid_template_hash?(template_hash)
49
74
  template_hash["message"] != "Not Found"
50
75
  end
51
76
 
52
- def headers
53
- {"User-Agent" => USER_AGENT}
54
- end
55
77
 
56
- end
78
+ private
79
+
80
+ # Get the specified template's hash from Github.
81
+ #
82
+ # @param name [String] name of template to get
83
+ # @return [Hash] hash containing template info
84
+ def get_template_hash(name)
85
+ Octonore::HTTPHelper.instance.get("/templates/#{name}")
86
+ end
57
87
 
58
- class GitignoreTemplateNotFoundError < StandardError
59
88
  end
60
89
 
61
90
  end
@@ -0,0 +1,5 @@
1
+ module Octonore
2
+
3
+ VERSION = "1.0.0" unless defined?(Octonore::VERSION)
4
+
5
+ end
data/octonore.gemspec CHANGED
@@ -1,20 +1,27 @@
1
- Gem::Specification.new do |s|
2
- s.name = 'octonore'
3
- s.version = '0.0.3'
4
- s.date = '2013-05-23'
5
- s.summary = 'Wrapper around the Github gitignore template API.'
6
- s.description = 'An octolicious wrapper around the Github gitignore template
7
- API.'
8
- s.license = 'MIT'
1
+ lib = File.expand_path('../lib', __FILE__)
2
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
3
+ require 'octonore/version'
9
4
 
5
+ Gem::Specification.new do |s|
10
6
  s.authors = ['Zach Latta']
11
7
  s.email = 'zchlatta@gmail.com'
12
8
  s.homepage = 'http://rubygems.org/gems/octonore'
13
9
 
10
+ s.name = 'octonore'
11
+ s.version = Octonore::VERSION
12
+ s.date = '2013-05-30'
13
+ s.summary = 'An octolicious wrapper around the Gitignore Templates
14
+ API.'
15
+ s.description = s.summary
16
+
17
+ s.license = 'MIT'
18
+ s.add_development_dependency 'bundler', '~> 1.0'
19
+ s.add_dependency 'httparty', '~> 0.11.0'
20
+
14
21
  s.files = `git ls-files`.split("\n")
15
22
  s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
16
23
  s.executables = `git ls-files -- bin/*`.split("\n").map { |f|
17
24
  File.basename(f)
18
- }
25
+ }
19
26
  s.require_paths = ['lib']
20
27
  end
@@ -1,5 +1,56 @@
1
1
  ---
2
2
  http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://api.github.com/gitignore/templates
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - octonore/0.11.0
12
+ response:
13
+ status:
14
+ code: 200
15
+ message: OK
16
+ headers:
17
+ Server:
18
+ - GitHub.com
19
+ Date:
20
+ - Thu, 30 May 2013 11:58:28 GMT
21
+ Content-Type:
22
+ - application/json; charset=utf-8
23
+ Connection:
24
+ - keep-alive
25
+ Status:
26
+ - 200 OK
27
+ X-Ratelimit-Limit:
28
+ - '60'
29
+ X-Ratelimit-Remaining:
30
+ - '56'
31
+ X-Github-Media-Type:
32
+ - github.beta; format=json
33
+ X-Content-Type-Options:
34
+ - nosniff
35
+ Content-Length:
36
+ - '757'
37
+ Access-Control-Allow-Credentials:
38
+ - 'true'
39
+ Access-Control-Expose-Headers:
40
+ - ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-OAuth-Scopes, X-Accepted-OAuth-Scopes
41
+ Access-Control-Allow-Origin:
42
+ - '*'
43
+ Etag:
44
+ - '"75313e55112eb47fac2ff47ea204fd92"'
45
+ Cache-Control:
46
+ - max-age=0, private, must-revalidate
47
+ Vary:
48
+ - Accept-Encoding
49
+ body:
50
+ encoding: UTF-8
51
+ string: '["Actionscript","Android","AppceleratorTitanium","Autotools","Bancha","C","C++","CFWheels","CMake","CSharp","CakePHP","Clojure","CodeIgniter","Compass","Concrete5","Coq","Delphi","Django","Drupal","Erlang","ExpressionEngine","Finale","ForceDotCom","FuelPHP","GWT","Go","Grails","Haskell","Java","Jboss","Jekyll","Joomla","Jython","Kohana","LaTeX","Leiningen","LemonStand","Lilypond","Lithium","Magento","Maven","Node","OCaml","Objective-C","Opa","OracleForms","Perl","PlayFramework","Python","Qooxdoo","Qt","R","Rails","RhodesRhomobile","Ruby","Scala","Sdcc","SeamGen","SketchUp","SugarCRM","Symfony","Symfony2","SymphonyCMS","Target3001","Tasm","Textpattern","TurboGears2","Unity","VB.Net","Waf","WordPress","Yii","ZendFramework","gcov","nanoc","opencart"]'
52
+ http_version:
53
+ recorded_at: Thu, 30 May 2013 11:58:28 GMT
3
54
  - request:
4
55
  method: get
5
56
  uri: https://api.github.com/gitignore/templates/C
@@ -8,7 +59,7 @@ http_interactions:
8
59
  string: ''
9
60
  headers:
10
61
  User-Agent:
11
- - octocore/0.11.0
62
+ - octonore/0.11.0
12
63
  response:
13
64
  status:
14
65
  code: 200
@@ -17,7 +68,7 @@ http_interactions:
17
68
  Server:
18
69
  - GitHub.com
19
70
  Date:
20
- - Fri, 24 May 2013 01:15:28 GMT
71
+ - Thu, 30 May 2013 11:58:28 GMT
21
72
  Content-Type:
22
73
  - application/json; charset=utf-8
23
74
  Connection:
@@ -27,7 +78,7 @@ http_interactions:
27
78
  X-Ratelimit-Limit:
28
79
  - '60'
29
80
  X-Ratelimit-Remaining:
30
- - '49'
81
+ - '55'
31
82
  X-Github-Media-Type:
32
83
  - github.beta; format=json
33
84
  X-Content-Type-Options:
@@ -51,7 +102,58 @@ http_interactions:
51
102
  string: '{"name":"C","source":"# Object files\n*.o\n\n# Libraries\n*.lib\n*.a\n\n#
52
103
  Shared objects (inc. Windows DLLs)\n*.dll\n*.so\n*.so.*\n*.dylib\n\n# Executables\n*.exe\n*.out\n*.app\n"}'
53
104
  http_version:
54
- recorded_at: Fri, 24 May 2013 01:15:29 GMT
105
+ recorded_at: Thu, 30 May 2013 11:58:29 GMT
106
+ - request:
107
+ method: get
108
+ uri: https://api.github.com/gitignore/templates/Java
109
+ body:
110
+ encoding: US-ASCII
111
+ string: ''
112
+ headers:
113
+ User-Agent:
114
+ - octonore/0.11.0
115
+ response:
116
+ status:
117
+ code: 200
118
+ message: OK
119
+ headers:
120
+ Server:
121
+ - GitHub.com
122
+ Date:
123
+ - Thu, 30 May 2013 11:58:29 GMT
124
+ Content-Type:
125
+ - application/json; charset=utf-8
126
+ Connection:
127
+ - keep-alive
128
+ Status:
129
+ - 200 OK
130
+ X-Ratelimit-Limit:
131
+ - '60'
132
+ X-Ratelimit-Remaining:
133
+ - '54'
134
+ X-Github-Media-Type:
135
+ - github.beta; format=json
136
+ X-Content-Type-Options:
137
+ - nosniff
138
+ Content-Length:
139
+ - '78'
140
+ Access-Control-Allow-Credentials:
141
+ - 'true'
142
+ Access-Control-Expose-Headers:
143
+ - ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-OAuth-Scopes, X-Accepted-OAuth-Scopes
144
+ Access-Control-Allow-Origin:
145
+ - '*'
146
+ Etag:
147
+ - '"881d51421dd39c30283451c1efa37124"'
148
+ Cache-Control:
149
+ - max-age=0, private, must-revalidate
150
+ Vary:
151
+ - Accept-Encoding
152
+ body:
153
+ encoding: UTF-8
154
+ string: '{"name":"Java","source":"*.class\n\n# Package Files #\n*.jar\n*.war\n*.ear\n"}'
155
+ http_version:
156
+ recorded_at: Thu, 30 May 2013 11:58:29 GMT
55
157
  - request:
56
158
  method: get
57
159
  uri: https://api.github.com/gitignore/templates/C
@@ -60,7 +162,7 @@ http_interactions:
60
162
  string: ''
61
163
  headers:
62
164
  User-Agent:
63
- - octocore/0.11.0
165
+ - octonore/0.11.0
64
166
  response:
65
167
  status:
66
168
  code: 200
@@ -69,7 +171,7 @@ http_interactions:
69
171
  Server:
70
172
  - GitHub.com
71
173
  Date:
72
- - Fri, 24 May 2013 01:15:29 GMT
174
+ - Thu, 30 May 2013 11:58:29 GMT
73
175
  Content-Type:
74
176
  - application/json; charset=utf-8
75
177
  Connection:
@@ -79,7 +181,7 @@ http_interactions:
79
181
  X-Ratelimit-Limit:
80
182
  - '60'
81
183
  X-Ratelimit-Remaining:
82
- - '48'
184
+ - '53'
83
185
  X-Github-Media-Type:
84
186
  - github.beta; format=json
85
187
  X-Content-Type-Options:
@@ -103,16 +205,16 @@ http_interactions:
103
205
  string: '{"name":"C","source":"# Object files\n*.o\n\n# Libraries\n*.lib\n*.a\n\n#
104
206
  Shared objects (inc. Windows DLLs)\n*.dll\n*.so\n*.so.*\n*.dylib\n\n# Executables\n*.exe\n*.out\n*.app\n"}'
105
207
  http_version:
106
- recorded_at: Fri, 24 May 2013 01:15:29 GMT
208
+ recorded_at: Thu, 30 May 2013 11:58:29 GMT
107
209
  - request:
108
210
  method: get
109
- uri: https://api.github.com/gitignore/templates/invalid
211
+ uri: https://api.github.com/gitignore/templates/
110
212
  body:
111
213
  encoding: US-ASCII
112
214
  string: ''
113
215
  headers:
114
216
  User-Agent:
115
- - octocore/0.11.0
217
+ - octonore/0.11.0
116
218
  response:
117
219
  status:
118
220
  code: 404
@@ -121,7 +223,7 @@ http_interactions:
121
223
  Server:
122
224
  - GitHub.com
123
225
  Date:
124
- - Fri, 24 May 2013 01:15:29 GMT
226
+ - Thu, 30 May 2013 11:58:29 GMT
125
227
  Content-Type:
126
228
  - application/json; charset=utf-8
127
229
  Connection:
@@ -131,7 +233,7 @@ http_interactions:
131
233
  X-Ratelimit-Limit:
132
234
  - '60'
133
235
  X-Ratelimit-Remaining:
134
- - '47'
236
+ - '52'
135
237
  X-Github-Media-Type:
136
238
  - github.beta; format=json
137
239
  X-Content-Type-Options:
@@ -148,5 +250,5 @@ http_interactions:
148
250
  encoding: UTF-8
149
251
  string: '{"message":"Not Found"}'
150
252
  http_version:
151
- recorded_at: Fri, 24 May 2013 01:15:29 GMT
253
+ recorded_at: Thu, 30 May 2013 11:58:30 GMT
152
254
  recorded_with: VCR 2.5.0
@@ -2,18 +2,6 @@ require_relative '../../spec_helper'
2
2
 
3
3
  describe Octonore::Template do
4
4
 
5
- describe "default attributes" do
6
-
7
- it "should have httparty methods" do
8
- Octonore::Template.should include(HTTParty)
9
- end
10
-
11
- it "should have the base url set to the Github API gitignore endpoint" do
12
- Octonore::Template.base_uri.should eq('https://api.github.com/gitignore')
13
- end
14
-
15
- end
16
-
17
5
  describe "default instance attributes" do
18
6
 
19
7
  let(:template) { Octonore::Template.new('C') }
@@ -34,6 +22,11 @@ describe Octonore::Template do
34
22
  template.name.should eq('C')
35
23
  end
36
24
 
25
+ it "should not have case sensitive names" do
26
+ valid_template = Octonore::Template.new('java')
27
+ valid_template.name.should eq('Java')
28
+ end
29
+
37
30
  end
38
31
 
39
32
  describe "GET template" do
@@ -44,13 +37,13 @@ describe Octonore::Template do
44
37
 
45
38
  after { VCR.eject_cassette }
46
39
 
47
- it "should have an update method" do
48
- template.should respond_to :update
40
+ it "should have a reload method" do
41
+ template.should respond_to :reload
49
42
  end
50
43
 
51
- it "should be able to refresh data from Github" do
44
+ it "should reload data from Github" do
52
45
  template.source = nil
53
- template.update
46
+ template.reload
54
47
  template.source.should_not equal nil
55
48
  end
56
49
 
@@ -58,6 +51,12 @@ describe Octonore::Template do
58
51
  expect {
59
52
  bad_template = Octonore::Template.new('invalid') }.to raise_error
60
53
  end
54
+
55
+ it "should list gitignore templates" do
56
+ templates = Octonore::Template.list
57
+ templates.should be_an_instance_of Array
58
+ templates.should include("C")
59
+ end
61
60
 
62
61
  end
63
62
 
metadata CHANGED
@@ -1,18 +1,44 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: octonore
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Zach Latta
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-05-23 00:00:00.000000000 Z
12
- dependencies: []
13
- description: |-
14
- An octolicious wrapper around the Github gitignore template
15
- API.
11
+ date: 2013-05-30 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ~>
18
+ - !ruby/object:Gem::Version
19
+ version: '1.0'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ~>
25
+ - !ruby/object:Gem::Version
26
+ version: '1.0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: httparty
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ~>
32
+ - !ruby/object:Gem::Version
33
+ version: 0.11.0
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ~>
39
+ - !ruby/object:Gem::Version
40
+ version: 0.11.0
41
+ description: An octolicious wrapper around the Gitignore Templates API.
16
42
  email: zchlatta@gmail.com
17
43
  executables: []
18
44
  extensions: []
@@ -20,14 +46,18 @@ extra_rdoc_files: []
20
46
  files:
21
47
  - .coveralls.yml
22
48
  - .gitignore
49
+ - .rspec
23
50
  - .travis.yml
51
+ - CHANGELOG.md
24
52
  - Gemfile
25
53
  - LICENSE
26
54
  - README.md
27
55
  - Rakefile
28
- - VERSION
29
56
  - lib/octonore.rb
57
+ - lib/octonore/error.rb
58
+ - lib/octonore/http_helper.rb
30
59
  - lib/octonore/template.rb
60
+ - lib/octonore/version.rb
31
61
  - octonore.gemspec
32
62
  - spec/fixtures/octonore_cassettes/template.yml
33
63
  - spec/lib/octonore/template_spec.rb
@@ -55,8 +85,9 @@ rubyforge_project:
55
85
  rubygems_version: 2.0.3
56
86
  signing_key:
57
87
  specification_version: 4
58
- summary: Wrapper around the Github gitignore template API.
88
+ summary: An octolicious wrapper around the Gitignore Templates API.
59
89
  test_files:
60
90
  - spec/fixtures/octonore_cassettes/template.yml
61
91
  - spec/lib/octonore/template_spec.rb
62
92
  - spec/spec_helper.rb
93
+ has_rdoc:
data/VERSION DELETED
@@ -1 +0,0 @@
1
- 0.0.3