teleporter 0.1.0 → 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: 62589391fbd9f6388ea3ab8621bcf35083923491
4
- data.tar.gz: 73e3bcd6e162dc11d22229dba41a03bc97fc870c
3
+ metadata.gz: c88ef2941a9d9f20d3996a9f00f0588f96b8f66a
4
+ data.tar.gz: b2730c415087f3b88a2fda67184ff93601544641
5
5
  SHA512:
6
- metadata.gz: 4af55564082b3f522176f67014e0e2f96e83b2b477d3f2c7258f6c9aafc3f1a95b4573f045c67b406fdcff137a51a1a6d7f8abbba2fea959521f64894a4dab75
7
- data.tar.gz: 9a37eef4edcfdd716142a6b2784b8f22a6d6d1256c49ddc3dd99846487d318633db71b95e6eb54f8b43a7f7487075147dec1e164c9d41e47e9949d3da2e3edea
6
+ metadata.gz: 47fd17559426e61e1adfa933c5ca9ab21dac47fc9a01c7be55e0f840bb7645c438a68fdae4f025f189a92f09c4d956445a065c89a265ddeed4360debc2f99000
7
+ data.tar.gz: 20cd183b8698221d443c5b97b4e761384cc04afd5273487acae8906036d76410cf3092cee3d64d2c4da8a3b12f48ad797dfd40d755845937ed649b6ddf864148
data/README.md CHANGED
@@ -18,6 +18,7 @@ Table of content
18
18
  * [rails g initial:simple_form](#rails-g-initialsimple_form)
19
19
  * [rails g initial:devise](#rails-g-initialdevise)
20
20
  * [rails g initial:devise_oauth](#rails-g-initialdevise_oauth)
21
+ * [rails g initial:api](#rails-g-initialapi)
21
22
 
22
23
  ## rails g initial:start
23
24
  ```shell
@@ -67,3 +68,8 @@ generates files for devise installation into a fresh rails application
67
68
 
68
69
  #### rails g initial:devise_oauth
69
70
  generates files for devise-oauth providers
71
+
72
+ #### rails g initial:api
73
+ generates `api/v1/. . .` files for json api
74
+ adds routes for subdomain `api.example.com`
75
+ adds `gem jsonbuilder`
@@ -0,0 +1,35 @@
1
+ module Initial
2
+ class ApiGenerator < Rails::Generators::Base
3
+ source_root File.expand_path("../templates", __FILE__)
4
+
5
+ def add
6
+ begin
7
+ gem 'jbuilder'
8
+ rescue
9
+ nil
10
+ end
11
+
12
+ Bundler.with_clean_env do
13
+ run "bundle install"
14
+ end
15
+
16
+ copy_file 'api/v1/base_controller.rb', 'app/controllers/api/v1/base_controller.rb'
17
+
18
+ @model_name = ask 'Type model name (ex.: Post)'
19
+ template 'api/v1/posts_controller.rb', "app/controllers/api/v1/#{@model_name.pluralize.underscore}_controller.rb"
20
+
21
+ route %Q{
22
+ namespace :api, path: '/', constraints: { subdomain: 'api' } do
23
+ namespace :v1 do
24
+ resources :#{@model_name.pluralize.underscore}, only: :index
25
+ end
26
+ end
27
+ }
28
+
29
+ copy_file 'api/views/index.json.jbuilder', "app/views/api/v1/#{@model_name.underscore}/index.json.jbuilder"
30
+
31
+ p 'for rspec use'
32
+ p 'before(:each) { request.host = "api.example.com" }'
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,7 @@
1
+ class Api::V1::BaseController < ApplicationController
2
+ abstract!
3
+
4
+ protect_from_forgery with: :null_session
5
+
6
+ respond_to :json
7
+ end
@@ -0,0 +1,4 @@
1
+ class Api::V1::<%= @model_name.pluralize %>Controller < Api::V1::BaseController
2
+ def index
3
+ end
4
+ end
@@ -1,4 +1,7 @@
1
+ require_relative 'rspec_helpers'
2
+
1
3
  RSpec.configure do |c|
2
4
  c.filter_run focus: true
3
5
  c.run_all_when_everything_filtered = true
6
+ c.include RspecHelpers
4
7
  end
@@ -0,0 +1,8 @@
1
+ module RspecHelpers
2
+
3
+ # Usage:
4
+ # json(response.body)
5
+ def json(body)
6
+ JSON.parse(body, symbolize_names: true)
7
+ end
8
+ end
data/lib/teleporter.rb CHANGED
@@ -14,5 +14,6 @@ require "generators/initial/devise"
14
14
  require "generators/initial/devise_oauth"
15
15
  require "generators/initial/gitignore"
16
16
  require "generators/initial/database"
17
+ require "generators/initial/api"
17
18
 
18
19
  require "generators/admin/start"
@@ -1,3 +1,3 @@
1
1
  module Teleporter
2
- VERSION = "0.1.0"
2
+ VERSION = "1.0.0"
3
3
  end
data/teleporter.gemspec CHANGED
@@ -18,7 +18,9 @@ Gem::Specification.new do |spec|
18
18
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
19
  spec.require_paths = ["lib"]
20
20
 
21
+ spec.add_runtime_dependency "railties"
22
+ spec.add_runtime_dependency "activesupport"
23
+
21
24
  spec.add_development_dependency "bundler", "~> 1.6"
22
25
  spec.add_development_dependency "rake"
23
- spec.add_development_dependency "railties"
24
26
  end
metadata CHANGED
@@ -1,37 +1,37 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: teleporter
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ponomarev Nikolay
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-10-13 00:00:00.000000000 Z
11
+ date: 2014-10-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: bundler
14
+ name: railties
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '1.6'
20
- type: :development
19
+ version: '0'
20
+ type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - "~>"
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
- version: '1.6'
26
+ version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
- name: rake
28
+ name: activesupport
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - ">="
32
32
  - !ruby/object:Gem::Version
33
33
  version: '0'
34
- type: :development
34
+ type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
@@ -39,7 +39,21 @@ dependencies:
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
- name: railties
42
+ name: bundler
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '1.6'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '1.6'
55
+ - !ruby/object:Gem::Dependency
56
+ name: rake
43
57
  requirement: !ruby/object:Gem::Requirement
44
58
  requirements:
45
59
  - - ">="
@@ -66,6 +80,7 @@ files:
66
80
  - README.md
67
81
  - Rakefile
68
82
  - lib/generators/admin/start.rb
83
+ - lib/generators/initial/api.rb
69
84
  - lib/generators/initial/bootstrap.rb
70
85
  - lib/generators/initial/capistrano.rb
71
86
  - lib/generators/initial/database.rb
@@ -76,6 +91,9 @@ files:
76
91
  - lib/generators/initial/rspec.rb
77
92
  - lib/generators/initial/simple_form.rb
78
93
  - lib/generators/initial/start.rb
94
+ - lib/generators/initial/templates/api/v1/base_controller.rb
95
+ - lib/generators/initial/templates/api/v1/posts_controller.rb.tt
96
+ - lib/generators/initial/templates/api/views/index.json.jbuilder
79
97
  - lib/generators/initial/templates/bootstrap/bootstrap-base.scss
80
98
  - lib/generators/initial/templates/bootstrap/bootstrap-init.coffee
81
99
  - lib/generators/initial/templates/bootstrap/bootstrap_flash_helper.rb
@@ -109,6 +127,7 @@ files:
109
127
  - lib/generators/initial/templates/rspec/configs/devise.rb
110
128
  - lib/generators/initial/templates/rspec/configs/factory_girl.rb
111
129
  - lib/generators/initial/templates/rspec/configs/rspec_base.rb
130
+ - lib/generators/initial/templates/rspec/configs/rspec_helpers.rb
112
131
  - lib/generators/initial/templates/rspec/configs/vcr.rb
113
132
  - lib/generators/initial/templates/rspec/factories/_sample.rb
114
133
  - lib/generators/initial/templates/rspec/shared_examples/_sample_shared.rb