activeadmin-generator 0.0.3 → 0.0.4
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/Gemfile +3 -0
- data/Gemfile.lock +71 -0
- data/README.md +19 -0
- data/activeadmin-generator.gemspec +2 -0
- data/lib/active_admin/generator/base.rb +1 -1
- data/lib/active_admin/generator/bricks/base.rb +4 -3
- data/lib/active_admin/generator/bricks/database.rb +3 -3
- data/lib/active_admin/generator/bricks/heroku.rb +74 -9
- data/lib/active_admin/generator/version.rb +1 -1
- metadata +36 -3
- data/lib/active_admin/generator/bricks/s3.rb +0 -0
data/Gemfile
ADDED
data/Gemfile.lock
ADDED
@@ -0,0 +1,71 @@
|
|
1
|
+
PATH
|
2
|
+
remote: .
|
3
|
+
specs:
|
4
|
+
activeadmin-generator (0.0.3)
|
5
|
+
aws-s3
|
6
|
+
railties
|
7
|
+
rake
|
8
|
+
thor
|
9
|
+
|
10
|
+
GEM
|
11
|
+
remote: http://rubygems.org/
|
12
|
+
specs:
|
13
|
+
actionpack (3.2.9)
|
14
|
+
activemodel (= 3.2.9)
|
15
|
+
activesupport (= 3.2.9)
|
16
|
+
builder (~> 3.0.0)
|
17
|
+
erubis (~> 2.7.0)
|
18
|
+
journey (~> 1.0.4)
|
19
|
+
rack (~> 1.4.0)
|
20
|
+
rack-cache (~> 1.2)
|
21
|
+
rack-test (~> 0.6.1)
|
22
|
+
sprockets (~> 2.2.1)
|
23
|
+
activemodel (3.2.9)
|
24
|
+
activesupport (= 3.2.9)
|
25
|
+
builder (~> 3.0.0)
|
26
|
+
activesupport (3.2.9)
|
27
|
+
i18n (~> 0.6)
|
28
|
+
multi_json (~> 1.0)
|
29
|
+
aws-s3 (0.6.3)
|
30
|
+
builder
|
31
|
+
mime-types
|
32
|
+
xml-simple
|
33
|
+
builder (3.0.4)
|
34
|
+
erubis (2.7.0)
|
35
|
+
hike (1.2.1)
|
36
|
+
i18n (0.6.1)
|
37
|
+
journey (1.0.4)
|
38
|
+
json (1.7.5)
|
39
|
+
mime-types (1.19)
|
40
|
+
multi_json (1.3.7)
|
41
|
+
rack (1.4.1)
|
42
|
+
rack-cache (1.2)
|
43
|
+
rack (>= 0.4)
|
44
|
+
rack-ssl (1.3.2)
|
45
|
+
rack
|
46
|
+
rack-test (0.6.2)
|
47
|
+
rack (>= 1.0)
|
48
|
+
railties (3.2.9)
|
49
|
+
actionpack (= 3.2.9)
|
50
|
+
activesupport (= 3.2.9)
|
51
|
+
rack-ssl (~> 1.3.2)
|
52
|
+
rake (>= 0.8.7)
|
53
|
+
rdoc (~> 3.4)
|
54
|
+
thor (>= 0.14.6, < 2.0)
|
55
|
+
rake (10.0.2)
|
56
|
+
rdoc (3.12)
|
57
|
+
json (~> 1.4)
|
58
|
+
sprockets (2.2.1)
|
59
|
+
hike (~> 1.2)
|
60
|
+
multi_json (~> 1.0)
|
61
|
+
rack (~> 1.0)
|
62
|
+
tilt (~> 1.1, != 1.3.0)
|
63
|
+
thor (0.16.0)
|
64
|
+
tilt (1.3.3)
|
65
|
+
xml-simple (1.1.2)
|
66
|
+
|
67
|
+
PLATFORMS
|
68
|
+
ruby
|
69
|
+
|
70
|
+
DEPENDENCIES
|
71
|
+
activeadmin-generator!
|
data/README.md
CHANGED
@@ -0,0 +1,19 @@
|
|
1
|
+
# ActiveAdmin project generator
|
2
|
+
|
3
|
+
## Usage
|
4
|
+
|
5
|
+
```
|
6
|
+
gem install activeadmin-generator
|
7
|
+
activeadmin-generator new my_app
|
8
|
+
```
|
9
|
+
|
10
|
+
## Default configurations
|
11
|
+
|
12
|
+
```bash
|
13
|
+
export AMAZON_ACCESS_KEY_ID=''
|
14
|
+
export AMAZON_SECRET_ACCESS_KEY=''
|
15
|
+
export AMAZON_DEFAULT_BUCKET_LOCATION='EU' # EU and US supported
|
16
|
+
export HEROKU_USERNAME=''
|
17
|
+
export HEROKU_PASSWORD=''
|
18
|
+
export HEROKU_COLLABORATORS='first@email.com, second@email.com'
|
19
|
+
```
|
@@ -5,8 +5,9 @@ module ::Bricks
|
|
5
5
|
|
6
6
|
attr_reader :context, :base_path
|
7
7
|
|
8
|
-
delegate :directory, :copy_file, :remove_dir, :gsub_file,
|
9
|
-
:
|
8
|
+
delegate :inject_into_file, :directory, :copy_file, :remove_dir, :gsub_file,
|
9
|
+
:rake, :generate, :route, :empty_directory, :gem, :git, :remove_file,
|
10
|
+
:append_file, to: :context
|
10
11
|
|
11
12
|
def initialize(context)
|
12
13
|
@context = context
|
@@ -30,7 +31,7 @@ module ::Bricks
|
|
30
31
|
|
31
32
|
def commit_all(message)
|
32
33
|
git add: "-A ."
|
33
|
-
git :
|
34
|
+
git commit: "-m '#{message}'"
|
34
35
|
end
|
35
36
|
|
36
37
|
def before_bundle
|
@@ -24,15 +24,15 @@ module ::Bricks
|
|
24
24
|
end
|
25
25
|
|
26
26
|
def configure_sqlite
|
27
|
-
gem 'sqlite3'
|
27
|
+
gem 'sqlite3', group: 'development'
|
28
28
|
end
|
29
29
|
|
30
30
|
def configure_mysql
|
31
|
-
gem 'mysql2'
|
31
|
+
gem 'mysql2', group: 'development'
|
32
32
|
end
|
33
33
|
|
34
34
|
def configure_pg
|
35
|
-
gem 'pg', '0.13.2'
|
35
|
+
gem 'pg', '0.13.2', group: 'development'
|
36
36
|
end
|
37
37
|
|
38
38
|
end
|
@@ -1,25 +1,90 @@
|
|
1
|
+
require 's3'
|
2
|
+
require 'heroku-api'
|
3
|
+
|
1
4
|
module ::Bricks
|
2
5
|
class Heroku < Base
|
3
6
|
|
7
|
+
attr_reader :access_key, :access_secret, :bucket_name
|
8
|
+
|
4
9
|
def apply?
|
5
|
-
yes? "
|
10
|
+
yes? "Will you be deploying to Heroku+S3?"
|
6
11
|
end
|
7
12
|
|
8
13
|
def before_bundle
|
14
|
+
@heroku_username = ENV['HEROKU_USERNAME'] || ask("Heroku username:")
|
15
|
+
@heroku_password = ENV['HEROKU_PASSWORD'] || ask("Heroku password:")
|
16
|
+
@heroku_collaborators = ( ENV['HEROKU_COLLABORATORS'] || ask("Specify collaborators' emails:") ).split(/\s*,\s*/).map(&:strip)
|
17
|
+
|
18
|
+
heroku = ::Heroku::API.new(username: @heroku_username, password: @heroku_password)
|
19
|
+
|
20
|
+
begin
|
21
|
+
begin
|
22
|
+
@heroku_appname = ask("Please specify Heroku app name:")
|
23
|
+
@heroku_app = heroku.get_app(@heroku_appname)
|
24
|
+
say "App already created!"
|
25
|
+
rescue ::Heroku::API::Errors::NotFound
|
26
|
+
say "Name available!"
|
27
|
+
@heroku_app = heroku.post_app('name' => @heroku_appname)
|
28
|
+
say "Heroku app created!"
|
29
|
+
@heroku_collaborators.each do |email|
|
30
|
+
say "Adding #{email} as collaborator"
|
31
|
+
heroku.post_collaborator(@heroku_appname, email)
|
32
|
+
say "#{email} added as collaborator"
|
33
|
+
end
|
34
|
+
rescue ::Heroku::API::Errors::Forbidden
|
35
|
+
say "Name already taken! :("
|
36
|
+
end
|
37
|
+
end while @heroku_app.blank?
|
38
|
+
|
39
|
+
git remote: "add heroku #{@heroku_app.body['git_url']}"
|
40
|
+
|
41
|
+
gsub_file "config/environments/production.rb", /Don't fallback to assets pipeline/, "Fallback to assets pipeline"
|
42
|
+
gsub_file "config/environments/production.rb", /config\.assets\.compile = false/, "config.assets.compile = true"
|
43
|
+
inject_into_file "config/application.rb", " config.assets.initialize_on_precompile = false\n", after: "config.assets.enabled = true\n"
|
44
|
+
|
45
|
+
@access_key = ENV['AMAZON_ACCESS_KEY_ID'] || ask("Amazon access key ID: ")
|
46
|
+
@access_secret = ENV['AMAZON_SECRET_ACCESS_KEY'] || ask("Amazon secret access key: ")
|
47
|
+
@bucket_location = ENV['AMAZON_DEFAULT_BUCKET_LOCATION'] || choose("Bucket location", [["Europe", :eu], ["US", :us]])
|
48
|
+
@bucket_location = @bucket_location.to_s.downcase.to_sym
|
49
|
+
@bucket_name = ask "Specify S3 bucket name:"
|
50
|
+
|
51
|
+
service = S3::Service.new(access_key_id: @access_key, secret_access_key: @access_secret)
|
9
52
|
copy_file "db/migrate/20121126113057_create_asset_thumbs.rb"
|
10
53
|
copy_file "config/initializers/dragonfly.rb"
|
11
|
-
end
|
12
54
|
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
55
|
+
begin
|
56
|
+
@bucket = service.buckets.find(@bucket_name)
|
57
|
+
say "Bucket already present!"
|
58
|
+
rescue Exception => e
|
59
|
+
say e.message
|
60
|
+
@bucket = service.buckets.build(@bucket_name)
|
61
|
+
@bucket.save(location: @bucket_location)
|
62
|
+
say "Bucket created!"
|
63
|
+
end
|
18
64
|
|
19
|
-
|
20
|
-
|
65
|
+
fog_regions = {
|
66
|
+
eu: 'eu-west-1',
|
67
|
+
us: 'us-east-1'
|
68
|
+
}
|
69
|
+
|
70
|
+
heroku.put_config_vars(
|
71
|
+
@heroku_appname,
|
72
|
+
'S3_BUCKET' => @bucket_name,
|
73
|
+
'S3_KEY' => @access_key,
|
74
|
+
'S3_SECRET' => @access_secret,
|
75
|
+
'S3_REGION' => fog_regions[@bucket_location]
|
76
|
+
)
|
21
77
|
|
78
|
+
gem 'fog', group: 'production'
|
79
|
+
gem 'pg', '0.13.2', group: 'production'
|
22
80
|
|
81
|
+
commit_all "Configured Heroku and S3"
|
82
|
+
end
|
23
83
|
|
84
|
+
def recap
|
85
|
+
say "The app is ready to be deployed on Heroku at #{@heroku_app.body['web_url']} with 'git push heroku master && heroku run rake db:migrate'"
|
86
|
+
end
|
24
87
|
|
88
|
+
end
|
89
|
+
end
|
25
90
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: activeadmin-generator
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.4
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-11-
|
12
|
+
date: 2012-11-27 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rake
|
@@ -59,6 +59,38 @@ dependencies:
|
|
59
59
|
- - ! '>='
|
60
60
|
- !ruby/object:Gem::Version
|
61
61
|
version: '0'
|
62
|
+
- !ruby/object:Gem::Dependency
|
63
|
+
name: s3
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
65
|
+
none: false
|
66
|
+
requirements:
|
67
|
+
- - ! '>='
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: '0'
|
70
|
+
type: :runtime
|
71
|
+
prerelease: false
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ! '>='
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: '0'
|
78
|
+
- !ruby/object:Gem::Dependency
|
79
|
+
name: heroku-api
|
80
|
+
requirement: !ruby/object:Gem::Requirement
|
81
|
+
none: false
|
82
|
+
requirements:
|
83
|
+
- - ! '>='
|
84
|
+
- !ruby/object:Gem::Version
|
85
|
+
version: '0'
|
86
|
+
type: :runtime
|
87
|
+
prerelease: false
|
88
|
+
version_requirements: !ruby/object:Gem::Requirement
|
89
|
+
none: false
|
90
|
+
requirements:
|
91
|
+
- - ! '>='
|
92
|
+
- !ruby/object:Gem::Version
|
93
|
+
version: '0'
|
62
94
|
description: Generate ActiveAdmin projects
|
63
95
|
email:
|
64
96
|
- stefano.verna@welaika.com
|
@@ -68,6 +100,8 @@ extensions: []
|
|
68
100
|
extra_rdoc_files: []
|
69
101
|
files:
|
70
102
|
- .gitignore
|
103
|
+
- Gemfile
|
104
|
+
- Gemfile.lock
|
71
105
|
- README.md
|
72
106
|
- Rakefile
|
73
107
|
- activeadmin-generator.gemspec
|
@@ -82,7 +116,6 @@ files:
|
|
82
116
|
- lib/active_admin/generator/bricks/frontend.rb
|
83
117
|
- lib/active_admin/generator/bricks/git.rb
|
84
118
|
- lib/active_admin/generator/bricks/heroku.rb
|
85
|
-
- lib/active_admin/generator/bricks/s3.rb
|
86
119
|
- lib/active_admin/generator/cli.rb
|
87
120
|
- lib/active_admin/generator/templates/app/assets/fonts/.empty_directory
|
88
121
|
- lib/active_admin/generator/templates/app/assets/images/.empty_directory
|
File without changes
|