octonore 0.0.3 → 1.0.0

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