apipie-rails 0.0.7 → 0.0.8

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- apipie-rails (0.0.6)
4
+ apipie-rails (0.0.7)
5
5
 
6
6
  GEM
7
7
  remote: http://rubygems.org/
data/apipie-rails.gemspec CHANGED
@@ -19,7 +19,6 @@ Gem::Specification.new do |s|
19
19
  s.add_development_dependency "rspec-rails"
20
20
  s.add_development_dependency "rails", ">= 3.0.10"
21
21
  s.add_development_dependency "sqlite3"
22
- s.add_development_dependency "rspec-rails"
23
22
  s.add_development_dependency "minitest"
24
23
  s.add_development_dependency "redcarpet"
25
24
  s.add_development_dependency "RedCloth"
@@ -14,6 +14,8 @@ module Apipie
14
14
 
15
15
  # Define arguments and options
16
16
  argument :name
17
+ argument :subject
18
+ argument :suffix
17
19
 
18
20
  attr_reader :doc, :resource
19
21
 
@@ -26,34 +28,52 @@ module Apipie
26
28
  File.expand_path("../template", __FILE__)
27
29
  end
28
30
 
29
- def self.destination_root(name)
30
- File.join(FileUtils.pwd, "#{name}_client")
31
+ def self.destination_root(name, suffix)
32
+ File.join(FileUtils.pwd, "#{name}#{suffix}")
31
33
  end
32
34
 
33
- def self.start(client_name)
35
+ def self.start(client_name, subject = :all, suffix = '_client')
34
36
  name = client_name.parameterize.underscore
35
- super([name], :destination_root => destination_root(name))
37
+ suffix = suffix.parameterize.underscore
38
+ super([name, subject, suffix], :destination_root => destination_root(name, suffix))
39
+ end
40
+
41
+ def all?
42
+ subject == :all
36
43
  end
37
44
 
38
45
  def generate_cli
46
+ full_name = "#{name}#{suffix}"
39
47
  template("README.tt", "README")
40
48
  template("Gemfile.tt", "Gemfile")
41
- template("bin.rb.tt", "bin/#{name}_client")
42
- chmod("bin/#{name}_client", 0755)
43
- template("client.rb.tt", "lib/#{name}_client.rb")
44
- template("base.rb.tt", "lib/#{name}_client/base.rb")
45
- template("cli_command.rb.tt", "lib/#{name}_client/cli_command.rb")
49
+ template("Rakefile.tt", "Rakefile")
50
+ template("client.gemspec.tt", "#{full_name}.gemspec")
51
+ template("client.rb.tt", "lib/#{full_name}.rb")
52
+ template("base.rb.tt", "lib/#{full_name}/base.rb")
53
+ template("rest_client_oauth.rb.tt", "lib/#{full_name}/rest_client_oauth.rb")
54
+ template("version.rb.tt", "lib/#{full_name}/version.rb")
55
+ if all?
56
+ template("bin.rb.tt", "bin/#{full_name}")
57
+ chmod("bin/#{full_name}", 0755)
58
+ template("cli_command.rb.tt", "lib/#{full_name}/cli_command.rb")
59
+ end
46
60
  doc[:resources].each do |key, resource|
47
61
  @resource = resource
48
- template("cli.rb.tt", "lib/#{name}_client/commands/#{resource_name}.thor")
49
- template("resource.rb.tt", "lib/#{name}_client/resources/#{resource_name}.rb")
62
+ if all?
63
+ template("cli.rb.tt", "lib/#{full_name}/commands/#{resource_name}.thor")
64
+ end
65
+ template("resource.rb.tt", "lib/#{full_name}/resources/#{resource_name}.rb")
50
66
  end
51
67
  end
52
68
 
53
69
  protected
54
70
 
55
71
  def class_base
56
- name.camelize
72
+ @class_base ||= name.camelize
73
+ end
74
+
75
+ def class_suffix
76
+ @class_suffix ||= suffix.camelize
57
77
  end
58
78
 
59
79
  def plaintext(text)
@@ -1,5 +1,3 @@
1
1
  source :rubygems
2
2
 
3
- gem 'thor', '>= 0.15.4'
4
- gem 'json'
5
- gem 'rest-client', '>= 1.6.1'
3
+ gemspec
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env rake
2
+ require "bundler/gem_tasks"
@@ -1,17 +1,29 @@
1
1
  require 'rest_client'
2
+ require 'oauth'
2
3
  require 'json'
4
+ require '<%= name %><%= suffix %>/rest_client_oauth'
3
5
 
4
- module <%= class_base %>Client
6
+ module <%= class_base %><%= class_suffix %>
5
7
  class Base
6
8
  attr_reader :client
7
9
 
8
- def initialize(config)
9
- @client = RestClient::Resource.new(config[:base_url], :user => config[:username], :password => config[:password])
10
+ def initialize(config = <%= class_base %><%= class_suffix %>.client_config)
11
+ @client = RestClient::Resource.new(config[:base_url],
12
+ :user => config[:username],
13
+ :password => config[:password],
14
+ :oauth => config[:oauth],
15
+ :headers => { :content_type => 'application/json',
16
+ :accept => 'application/json' })
10
17
  end
11
18
 
12
- def call(method, path, params = {})
13
- ret = client[path].send(method, params)
14
- data = JSON.parse(ret.body) rescue ret.body
19
+ def call(method, path, payload = nil)
20
+ a, *_ = [method, payload ? payload.to_json : nil].compact
21
+ ret = client[path].send(a)
22
+ data = begin
23
+ JSON.parse(ret.body)
24
+ rescue JSON::ParserError
25
+ ret.body
26
+ end
15
27
  return data, ret
16
28
  end
17
29
 
@@ -5,8 +5,8 @@ require "thor"
5
5
  require 'thor/core_ext/file_binary_read'
6
6
 
7
7
  $: << File.expand_path("../../lib", __FILE__)
8
- require "<%= name %>_client"
9
- require "<%= name %>_client/cli_command"
8
+ require "<%= name %><%= suffix %>"
9
+ require "<%= name %><%= suffix %>/cli_command"
10
10
 
11
11
  module <%= class_base %>Cli
12
12
  class Main < Thor
@@ -37,8 +37,8 @@ module <%= class_base %>Cli
37
37
  parser = Thor::Options.new({:username => Thor::Option.parse(%w[username -u], :string),
38
38
  :password => Thor::Option.parse(%w[password -p], :string)})
39
39
  opts = parser.parse(given_args)
40
- <%= class_base %>Client.client_config[:username] = opts["username"]
41
- <%= class_base %>Client.client_config[:password] = opts["password"]
40
+ <%= class_base %><%= class_suffix %>.client_config[:username] = opts["username"]
41
+ <%= class_base %><%= class_suffix %>.client_config[:password] = opts["password"]
42
42
  #remaining = parser.instance_variable_get("@unknown") # TODO: this is an ugly hack :(
43
43
  remaining = parser.remaining
44
44
  super(task, remaining, given_options, config)
@@ -69,14 +69,14 @@ module <%= class_base %>Cli
69
69
  end
70
70
 
71
71
  def thorfiles
72
- Dir[File.expand_path("../../lib/<%= name %>_client/commands/*.thor", __FILE__)]
72
+ Dir[File.expand_path("../../lib/<%= name %><%= suffix %>/commands/*.thor", __FILE__)]
73
73
  end
74
74
 
75
75
  # Display information about the given klasses. If with_module is given,
76
76
  # it shows a table with information extracted from the yaml file.
77
77
  #
78
78
  def display_klasses(with_modules=false, show_internal=false, klasses=Thor::Base.subclasses)
79
- klasses -= [Thor, Main, ::<%= class_base %>Client::CliCommand] unless show_internal
79
+ klasses -= [Thor, Main, ::<%= class_base %><%= class_suffix %>::CliCommand] unless show_internal
80
80
 
81
81
  show_modules if with_modules && !thor_yaml.empty?
82
82
 
@@ -107,4 +107,8 @@ begin
107
107
  rescue RestClient::Exception => e
108
108
  $stderr.puts e.message
109
109
  exit 1
110
+ rescue Errno::ECONNREFUSED => e
111
+ $stderr.puts "Server #{<%= class_base %><%= class_suffix %>.client_config[:base_url]} not available"
112
+ $stderr.puts e.message
113
+ exit 1
110
114
  end
@@ -1,4 +1,4 @@
1
- class <%= resource_name.camelize %> < <%= class_base %>Client::CliCommand
1
+ class <%= resource_name.camelize %> < <%= class_base %><%= class_suffix %>::CliCommand
2
2
 
3
3
  <% resource[:methods].each do |method| -%>
4
4
  desc '<%= method[:name] %>', '<%= api(method)[:short_description] %>'
@@ -1,9 +1,9 @@
1
- module <%= class_base %>Client
1
+ module <%= class_base %><%= class_suffix %>
2
2
  class CliCommand < Thor
3
3
  no_tasks do
4
4
  def client
5
- resource_class = <%= class_base %>Client::Resources.const_get(self.class.name[/[^:]*$/])
6
- @client ||= resource_class.new(<%= class_base %>Client.client_config)
5
+ resource_class = <%= class_base %><%= class_suffix %>::Resources.const_get(self.class.name[/[^:]*$/])
6
+ @client ||= resource_class.new(<%= class_base %><%= class_suffix %>.client_config)
7
7
  end
8
8
 
9
9
  def transform_options(inline_params, transform_hash = {})
@@ -0,0 +1,22 @@
1
+ # -*- encoding: utf-8 -*-
2
+ require File.expand_path('../lib/<%= name %><%= suffix %>/version', __FILE__)
3
+
4
+ Gem::Specification.new do |gem|
5
+ gem.authors = ["TODO"]
6
+ gem.email = ["TODO"]
7
+ gem.description = %q{TODO: Write a gem description}
8
+ gem.summary = %q{TODO: Write a gem summary}
9
+ gem.homepage = ""
10
+
11
+ gem.files = `git ls-files`.split($\)
12
+ gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
13
+ gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
14
+ gem.name = "<%= name %><%= suffix %>"
15
+ gem.require_paths = ["lib"]
16
+ gem.version = <%= class_base %><%= class_suffix %>::VERSION
17
+
18
+ gem.add_dependency 'thor', '>= 0.15.4'
19
+ gem.add_dependency 'json'
20
+ gem.add_dependency 'rest-client', '>= 1.6.1'
21
+ gem.add_dependency 'oauth'
22
+ end
@@ -1,10 +1,13 @@
1
- require '<%= name %>_client/base'
1
+ require '<%= name %><%= suffix %>/base'
2
+ require '<%= name %><%= suffix %>/version'
2
3
 
3
- resource_files = Dir[File.expand_path('../<%= name %>_client/resources/*.rb', __FILE__)]
4
+ resource_files = Dir[File.expand_path('../<%= name %><%= suffix %>/resources/*.rb', __FILE__)]
4
5
  resource_files.each { |f| require f }
5
6
 
6
- module <%= class_base %>Client
7
+ module <%= class_base %><%= class_suffix %>
7
8
  def self.client_config
8
- @client_config ||= {:base_url => "http://localhost:3000"}
9
+ @client_config ||= { :base_url => "http://localhost:3000",
10
+ :oauth => { :consumer_key => 'consumer',
11
+ :consumer_secret => 'shhhh' } }
9
12
  end
10
13
  end
@@ -1,6 +1,6 @@
1
- module <%= class_base %>Client
1
+ module <%= class_base %><%= class_suffix %>
2
2
  module Resources
3
- class <%= resource_name.camelize %> < <%= class_base %>Client::Base
3
+ class <%= resource_name.camelize %> < <%= class_base %><%= class_suffix %>::Base
4
4
  <% resource[:methods].each do |method| -%>
5
5
 
6
6
  def <%= method[:name] %><%= "(#{ client_args(method).join(", ") })" if client_args(method).any? %>
@@ -0,0 +1,29 @@
1
+ unless RestClient.const_defined? :OAUTH_EXTENSION
2
+ RestClient::OAUTH_EXTENSION = lambda do |request, args|
3
+ if args[:oauth]
4
+ uri = URI.parse args[:url]
5
+ default_options = { :site => "#{uri.scheme}://#{uri.host}:#{uri.port.to_s}",
6
+ :request_token_path => "",
7
+ :authorize_path => "",
8
+ :access_token_path => "" }
9
+ options = default_options.merge args[:oauth][:options] || { }
10
+ consumer = OAuth::Consumer.new(args[:oauth][:consumer_key], args[:oauth][:consumer_secret], options)
11
+
12
+
13
+ method_to_http_request = { :get => Net::HTTP::Get,
14
+ :post => Net::HTTP::Post,
15
+ :put => Net::HTTP::Put,
16
+ :delete => Net::HTTP::Delete }
17
+
18
+ http_request = method_to_http_request[args[:method]].
19
+ new(args[:url]) # create Net::HTTPRequest to get oauth header,
20
+ # because RestClient::Request is not supported by Oauth
21
+ consumer.sign!(http_request)
22
+ request['Authorization'] = http_request['Authorization'] # add oauth header to rest_client request
23
+ end
24
+ end
25
+ end
26
+
27
+ unless RestClient.before_execution_procs.include? RestClient::OAUTH_EXTENSION
28
+ RestClient.add_before_execution_proc &RestClient::OAUTH_EXTENSION
29
+ end
@@ -0,0 +1,3 @@
1
+ module <%= class_base %><%= class_suffix %>
2
+ VERSION = "0.0.1"
3
+ end
@@ -16,7 +16,9 @@ module Apipie
16
16
  private
17
17
 
18
18
  def create_api_url(path)
19
- "#{Apipie.configuration.api_base_url}#{path}"
19
+ path = "#{Apipie.configuration.api_base_url}#{path}"
20
+ path = path[0..-2] if path[-1..-1] == '/'
21
+ return path
20
22
  end
21
23
 
22
24
  end
@@ -57,7 +57,7 @@ module Apipie
57
57
 
58
58
  # what type is expected, mostly string
59
59
  # this information is used in cli client
60
- # thor supported types :string, :hash, :array, :numeric, or :boolean
60
+ # thor supported types :string, :hash, :array, :numeric, or :boolean
61
61
  def expected_type
62
62
  'string'
63
63
  end
@@ -1,3 +1,3 @@
1
1
  module Apipie
2
- VERSION = '0.0.7'
2
+ VERSION = '0.0.8'
3
3
  end
@@ -124,15 +124,28 @@ namespace :apipie do
124
124
  FileUtils.cp_r "#{src}/.", dest
125
125
  end
126
126
 
127
+ namespace :client do
128
+ task :all, [:suffix] => [:environment] do |t, args|
129
+ args.with_defaults(:suffix => "_client")
130
+ Apipie.configuration.use_cache = false # we don't want to skip DSL evaluation
131
+ Apipie.api_controllers_paths.each { |file| require file }
127
132
 
128
- desc "Generate CLI client for API documented with apipie gem."
129
- task :client => [:environment] do |t, args|
130
- Apipie.configuration.use_cache = false # we don't want to skip DSL evaluation
131
- Apipie.api_controllers_paths.each { |file| require file }
133
+ Apipie::Client::Generator.start(Apipie.configuration.app_name, :all, args[:suffix])
134
+ end
135
+
136
+ desc "Generate only ruby bindings for API documented with apipie gem."
137
+ task :bindings, [:suffix] => [:environment] do |t, args|
138
+ args.with_defaults(:suffix => "_client")
139
+ Apipie.configuration.use_cache = false # we don't want to skip DSL evaluation
140
+ Apipie.api_controllers_paths.each { |file| require file }
132
141
 
133
- Apipie::Client::Generator.start(Apipie.configuration.app_name)
142
+ Apipie::Client::Generator.start(Apipie.configuration.app_name, :bindings, args[:suffix])
143
+ end
134
144
  end
135
145
 
146
+ desc "Generate CLI client for API documented with apipie gem."
147
+ task :client, [:suffix] => 'client:all'
148
+
136
149
  def plaintext(text)
137
150
  text.gsub(/<.*?>/, '').gsub("\n",' ').strip
138
151
  end
@@ -0,0 +1 @@
1
+ 0.0.7-1 /
@@ -1,28 +1,25 @@
1
- %define gem_name apipie-rails
2
-
3
- Name: rubygem-%{gem_name}
4
- Version: 0.0.6
5
- Release: 1%{?dist}
6
- Summary: Rails API documentation tool and client generator.
7
-
8
- Group: Development/Libraries
9
- License: MIT
10
- URL: https://github.com/Pajk/apipie-rails
11
- Source0: http://rubygems.org/downloads/%{gem_name}-%{version}.gem
1
+ %global gemname apipie-rails
12
2
 
3
+ %global gemdir %(ruby -rubygems -e 'puts Gem::dir' 2>/dev/null)
4
+ %global geminstdir %{gemdir}/gems/%{gemname}-%{version}
13
5
  %if 0%{?rhel} == 6 || 0%{?fedora} < 17
14
6
  %define rubyabi 1.8
15
7
  %else
16
8
  %define rubyabi 1.9
17
9
  %endif
10
+
11
+ Summary: Rails API documentation tool and client generator.
12
+ Name: rubygem-%{gemname}
13
+ Version: 0.0.7
14
+ Release: 2%{?dist}
15
+ Group: Development/Libraries
16
+ License: MIT
17
+ URL: http://github.com/Pajk/apipie-rails
18
+ Source0: http://rubygems.org/downloads/%{gemname}-%{version}.gem
18
19
  Requires: ruby(abi) >= %{rubyabi}
19
- Requires: ruby(rubygems)
20
- Requires: ruby
21
20
  BuildRequires: ruby(abi) >= %{rubyabi}
22
- BuildRequires: rubygems-devel
23
- BuildRequires: ruby
24
21
  BuildArch: noarch
25
- Provides: rubygem(%{gem_name}) = %{version}
22
+ Provides: rubygem(%{gemname}) = %{version}
26
23
 
27
24
  %description
28
25
  This gem adds new methods to Rails controllers that can be used to describe
@@ -30,43 +27,47 @@ resources exposed by API. Informations entered with provided DSL are used
30
27
  to generate documentation, client or to validate incoming requests.
31
28
 
32
29
  %prep
33
- gem unpack %{SOURCE0}
34
- %setup -q -D -T -n %{gem_name}-%{version}
35
- gem spec %{SOURCE0} -l --ruby > %{gem_name}.gemspec
36
-
30
+ %setup -q -c -T
31
+ mkdir -p .%{gemdir}
32
+ gem install --local --install-dir .%{gemdir} \
33
+ --force %{SOURCE0}
37
34
 
38
35
  %build
39
- mkdir -p .%{gem_dir}
40
-
41
- # Create the gem as gem install only works on a gem file
42
- gem build %{gem_name}.gemspec
43
-
44
- # gem install compiles any C extensions and installs into a directory
45
- # We set that to be a local directory so that we can move it into the
46
- # buildroot in %%install
47
- gem install -V \
48
- --local \
49
- --install-dir ./%{gem_dir} \
50
- --bindir ./%{_bindir} \
51
- --force \
52
- --rdoc \
53
- %{gem_name}-%{version}.gem
54
36
 
55
37
  %install
56
- mkdir -p %{buildroot}%{gem_dir}
57
- cp -a ./%{gem_dir}/* %{buildroot}%{gem_dir}/
58
-
59
- %files
60
- %{gem_dir}/gems/%{gem_name}-%{version}/
61
-
38
+ mkdir -p %{buildroot}%{gemdir}
39
+ cp -a .%{gemdir}/* \
40
+ %{buildroot}%{gemdir}/
62
41
 
63
- %doc MIT-LICENSE README.rdoc
64
42
 
65
- %{gem_dir}/cache/%{gem_name}-%{version}.gem
66
- %{gem_dir}/specifications/%{gem_name}-%{version}.gemspec
67
- %{gem_docdir}
43
+ %files
44
+ %{geminstdir}/app
45
+ %{geminstdir}/lib
46
+ %{geminstdir}/apipie-rails.gemspec
47
+ %{geminstdir}/Gemfile
48
+ %{geminstdir}/Gemfile.lock
49
+ %{geminstdir}/Rakefile
50
+ %{gemdir}/specifications/%{gemname}-%{version}.gemspec
51
+
52
+ %exclude %{geminstdir}/spec
53
+ %exclude %{geminstdir}/rel-eng
54
+ %exclude %{geminstdir}/.gitignore
55
+ %exclude %{geminstdir}/.rspec
56
+ %exclude %{geminstdir}/.rvmrc
57
+ %exclude %{geminstdir}/.travis.yml
58
+ %exclude %{geminstdir}/rubygem-apipie-rails.spec
59
+ %exclude %{gemdir}/cache/%{gemname}-%{version}.gem
60
+ %exclude %{gemdir}/doc/%{gemname}-%{version}
61
+
62
+ %doc %{geminstdir}/MIT-LICENSE
63
+ %doc %{geminstdir}/README.rdoc
64
+ %doc %{geminstdir}/APACHE-LICENSE-2.0
65
+ %doc %{geminstdir}/NOTICE
68
66
 
69
67
  %changelog
70
- * Fri Jul 20 2012 Pavel Pokorný <pajkycz@gmail.com> 0.0.6-1
71
- - new RPM package built with tito
68
+ * Thu Jul 26 2012 Pavel Pokorný <pajkycz@gmail.com> 0.0.7-2
69
+ - removed doc files from rpm
70
+
71
+ * Wed Jul 25 2012 Pavel Pokorný <pajkycz@gmail.com> 0.0.7-1
72
+ - new package built with tito
72
73
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: apipie-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.7
4
+ version: 0.0.8
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2012-07-21 00:00:00.000000000 Z
13
+ date: 2012-07-26 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rspec-rails
@@ -60,22 +60,6 @@ dependencies:
60
60
  - - ! '>='
61
61
  - !ruby/object:Gem::Version
62
62
  version: '0'
63
- - !ruby/object:Gem::Dependency
64
- name: rspec-rails
65
- requirement: !ruby/object:Gem::Requirement
66
- none: false
67
- requirements:
68
- - - ! '>='
69
- - !ruby/object:Gem::Version
70
- version: '0'
71
- type: :development
72
- prerelease: false
73
- version_requirements: !ruby/object:Gem::Requirement
74
- none: false
75
- requirements:
76
- - - ! '>='
77
- - !ruby/object:Gem::Version
78
- version: '0'
79
63
  - !ruby/object:Gem::Dependency
80
64
  name: minitest
81
65
  requirement: !ruby/object:Gem::Requirement
@@ -148,7 +132,6 @@ executables: []
148
132
  extensions: []
149
133
  extra_rdoc_files: []
150
134
  files:
151
- - .autotest
152
135
  - .gitignore
153
136
  - .rspec
154
137
  - .rvmrc
@@ -185,12 +168,16 @@ files:
185
168
  - lib/apipie/client/generator.rb
186
169
  - lib/apipie/client/template/Gemfile.tt
187
170
  - lib/apipie/client/template/README.tt
171
+ - lib/apipie/client/template/Rakefile.tt
188
172
  - lib/apipie/client/template/base.rb.tt
189
173
  - lib/apipie/client/template/bin.rb.tt
190
174
  - lib/apipie/client/template/cli.rb.tt
191
175
  - lib/apipie/client/template/cli_command.rb.tt
176
+ - lib/apipie/client/template/client.gemspec.tt
192
177
  - lib/apipie/client/template/client.rb.tt
193
178
  - lib/apipie/client/template/resource.rb.tt
179
+ - lib/apipie/client/template/rest_client_oauth.rb.tt
180
+ - lib/apipie/client/template/version.rb.tt
194
181
  - lib/apipie/dsl_definition.rb
195
182
  - lib/apipie/error_description.rb
196
183
  - lib/apipie/extractor.rb
@@ -209,6 +196,7 @@ files:
209
196
  - lib/apipie/version.rb
210
197
  - lib/tasks/apipie.rake
211
198
  - rel-eng/packages/.readme
199
+ - rel-eng/packages/rubygem-apipie-rails
212
200
  - rel-eng/tito.props
213
201
  - rubygem-apipie-rails.spec
214
202
  - spec/controllers/apipies_controller_spec.rb
data/.autotest DELETED
@@ -1,3 +0,0 @@
1
- require "autotest/growl"
2
- require "autotest/fsevent"
3
-