activeadmin-generator 0.0.4 → 0.0.5
Sign up to get free protection for your applications and to get access to all the features.
- data/README.md +4 -0
- data/activeadmin-generator.gemspec +1 -0
- data/lib/active_admin/generator/base.rb +6 -9
- data/lib/active_admin/generator/bricks/active_admin.rb +2 -1
- data/lib/active_admin/generator/bricks/base.rb +1 -7
- data/lib/active_admin/generator/bricks/errbit.rb +95 -0
- data/lib/active_admin/generator/bricks/frontend.rb +4 -0
- data/lib/active_admin/generator/bricks/git.rb +1 -0
- data/lib/active_admin/generator/bricks/init.rb +16 -0
- data/lib/active_admin/generator/templates/app/assets/stylesheets/active_admin.css.sass +1 -1
- data/lib/active_admin/generator/templates/config.ru +1 -0
- data/lib/active_admin/generator/templates/config/initializers/errbit.rb +6 -0
- data/lib/active_admin/generator/templates/config/locales/devise.it.yml +55 -0
- data/lib/active_admin/generator/version.rb +1 -1
- metadata +22 -2
data/README.md
CHANGED
@@ -16,4 +16,8 @@ export AMAZON_DEFAULT_BUCKET_LOCATION='EU' # EU and US supported
|
|
16
16
|
export HEROKU_USERNAME=''
|
17
17
|
export HEROKU_PASSWORD=''
|
18
18
|
export HEROKU_COLLABORATORS='first@email.com, second@email.com'
|
19
|
+
export ERRBIT_URL='http://errbit.yourhost.com'
|
20
|
+
export ERRBIT_EMAIL=''
|
21
|
+
export ERRBIT_PASSWORD=''
|
22
|
+
export ERRBIT_COLLABORATORS='4f991e12cc9cb10008000001, 4f99204fcc9cb1000b00000a'
|
19
23
|
```
|
@@ -1,5 +1,5 @@
|
|
1
1
|
class Base
|
2
|
-
BRICKS = %w(
|
2
|
+
BRICKS = %w(init git clean_assets errbit frontend database heroku active_admin active_admin_extras)
|
3
3
|
attr_reader :context
|
4
4
|
|
5
5
|
def initialize(context)
|
@@ -7,6 +7,7 @@ class Base
|
|
7
7
|
end
|
8
8
|
|
9
9
|
def require_bricks
|
10
|
+
context.apply "bricks/base.rb"
|
10
11
|
BRICKS.each do |brick_module|
|
11
12
|
context.apply "bricks/#{brick_module}.rb"
|
12
13
|
end
|
@@ -14,13 +15,9 @@ class Base
|
|
14
15
|
|
15
16
|
def bricks
|
16
17
|
@bricks ||= BRICKS.map do |brick_module|
|
17
|
-
brick_class = "bricks/#{brick_module}".camelize.constantize
|
18
|
-
|
19
|
-
|
20
|
-
brick.apply? ? brick : nil
|
21
|
-
else
|
22
|
-
nil
|
23
|
-
end
|
18
|
+
brick_class = "bricks/#{brick_module}".camelize.constantize
|
19
|
+
brick = brick_class.new(context)
|
20
|
+
brick.apply? ? brick : nil
|
24
21
|
end.compact
|
25
22
|
end
|
26
23
|
|
@@ -40,8 +37,8 @@ class Base
|
|
40
37
|
|
41
38
|
def hook(name)
|
42
39
|
bricks.each do |brick|
|
40
|
+
puts brick.class.name
|
43
41
|
if brick.respond_to? name
|
44
|
-
context.send :log, name.to_s.titleize, "brick: #{brick.title}"
|
45
42
|
brick.send(name)
|
46
43
|
end
|
47
44
|
end
|
@@ -15,7 +15,7 @@ module ::Bricks
|
|
15
15
|
end
|
16
16
|
|
17
17
|
def title
|
18
|
-
|
18
|
+
self.class.name
|
19
19
|
end
|
20
20
|
|
21
21
|
def template(source)
|
@@ -34,12 +34,6 @@ module ::Bricks
|
|
34
34
|
git commit: "-m '#{message}'"
|
35
35
|
end
|
36
36
|
|
37
|
-
def before_bundle
|
38
|
-
say "=" * 80
|
39
|
-
say "Welcome to ActiveAdmin Generator! :)".center(80) + "\n"
|
40
|
-
say "=" * 80
|
41
|
-
end
|
42
|
-
|
43
37
|
def format(text)
|
44
38
|
string = ""
|
45
39
|
if title
|
@@ -0,0 +1,95 @@
|
|
1
|
+
require 'mechanize'
|
2
|
+
require 'uri'
|
3
|
+
|
4
|
+
module ::Bricks
|
5
|
+
class Errbit < Base
|
6
|
+
|
7
|
+
def apply?
|
8
|
+
yes? "Do you want to configure Errbit?"
|
9
|
+
end
|
10
|
+
|
11
|
+
def before_bundle
|
12
|
+
gem 'airbrake'
|
13
|
+
|
14
|
+
ask_name_and_collaborators
|
15
|
+
|
16
|
+
@errbit_url = ENV['ERRBIT_URL'] || ask("Errbit URL")
|
17
|
+
uri = URI(@errbit_url)
|
18
|
+
|
19
|
+
@errbit_host = uri.host
|
20
|
+
@errbit_port = uri.scheme == "https" ? 443 : 80
|
21
|
+
|
22
|
+
@errbit_email = ENV['ERRBIT_EMAIL'] || ask("Errbit email")
|
23
|
+
@errbit_password = ENV['ERRBIT_PASSWORD'] || ask("Errbit password")
|
24
|
+
|
25
|
+
login!
|
26
|
+
@api_key = find_app_key
|
27
|
+
|
28
|
+
while @api_key.blank?
|
29
|
+
begin
|
30
|
+
@api_key = create_app_key
|
31
|
+
rescue RuntimeError => e
|
32
|
+
say e.message
|
33
|
+
ask_name_and_collaborators
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
template "config/initializers/errbit.rb"
|
38
|
+
end
|
39
|
+
|
40
|
+
def ask_name_and_collaborators(force = false)
|
41
|
+
@app_name = ENV['APP_NAME']
|
42
|
+
@collaborators = ( ENV['ERRBIT_COLLABORATORS'] || ask("Specify collaborators' User IDs:") ).split(/\s*,\s*/).map(&:strip)
|
43
|
+
end
|
44
|
+
|
45
|
+
def agent
|
46
|
+
@agent ||= Mechanize.new
|
47
|
+
end
|
48
|
+
|
49
|
+
def login!
|
50
|
+
agent.get(abs_path('/users/sign_in')) do |page|
|
51
|
+
page.form_with(action: '/users/sign_in') do |f|
|
52
|
+
f["user[email]"] = @errbit_email
|
53
|
+
f["user[password]"] = @errbit_password
|
54
|
+
end.submit
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
58
|
+
def fetch_api_key(page)
|
59
|
+
page.search("span.meta").text.gsub(/^.*API Key:/m, '').strip
|
60
|
+
rescue
|
61
|
+
nil
|
62
|
+
end
|
63
|
+
|
64
|
+
def find_app_key
|
65
|
+
page = agent.get(abs_path('/apps'))
|
66
|
+
link = page.search("td.name a").find { |link| link.text == @app_name }
|
67
|
+
link.present? ? fetch_api_key(agent.get(link["href"])) : nil
|
68
|
+
end
|
69
|
+
|
70
|
+
def create_app_key
|
71
|
+
new_page = agent.get(abs_path('/apps/new'))
|
72
|
+
result_page = new_page.form_with(action: '/apps') do |f|
|
73
|
+
f["app[name]"] = @app_name
|
74
|
+
f["app[notify_on_errs]"] = "1"
|
75
|
+
@collaborators.each_with_index do |uid, i|
|
76
|
+
f["app[watchers_attributes][#{i}][user_id]"] = uid
|
77
|
+
end
|
78
|
+
end.submit
|
79
|
+
|
80
|
+
api_key = fetch_api_key(result_page)
|
81
|
+
|
82
|
+
if api_key.nil?
|
83
|
+
fail result_page.search(".error-messages ul li").map(&:text).join("\n")
|
84
|
+
end
|
85
|
+
|
86
|
+
api_key
|
87
|
+
end
|
88
|
+
|
89
|
+
def abs_path(path)
|
90
|
+
@errbit_url + path
|
91
|
+
end
|
92
|
+
|
93
|
+
end
|
94
|
+
end
|
95
|
+
|
@@ -1 +1 @@
|
|
1
|
-
@import
|
1
|
+
@import active_admin/extra/base
|
@@ -0,0 +1 @@
|
|
1
|
+
use Rack::Deflater
|
@@ -0,0 +1,55 @@
|
|
1
|
+
it:
|
2
|
+
errors:
|
3
|
+
messages:
|
4
|
+
expired: "è scaduto, si prega di richiederne uno nuovo"
|
5
|
+
not_found: "non trovato"
|
6
|
+
already_confirmed: "è stato già confermato, prova ad effettuare un nuovo accesso"
|
7
|
+
not_locked: "non era bloccato"
|
8
|
+
not_saved:
|
9
|
+
one: "Non posso salvare questo %{resource}: 1 errore"
|
10
|
+
other: "Non posso salvare questo %{resource}: %{count} errori."
|
11
|
+
|
12
|
+
devise:
|
13
|
+
failure:
|
14
|
+
already_authenticated: "Hai già effettuato l'accesso."
|
15
|
+
unauthenticated: "Devi accedere o registrarti per continuare."
|
16
|
+
unconfirmed: "Devi confermare il tuo account per continuare."
|
17
|
+
locked: "Il tuo account è bloccato."
|
18
|
+
invalid: "Indirizzo email o password non validi."
|
19
|
+
invalid_token: "Codice di autenticazione non valido."
|
20
|
+
timeout: "Sessione scaduta, accedere nuovamente per continuare."
|
21
|
+
inactive: "Il tuo account non è stato ancora attivato."
|
22
|
+
sessions:
|
23
|
+
signed_in: "Accesso effettuato con successo."
|
24
|
+
signed_out: "Sei uscito correttamente."
|
25
|
+
passwords:
|
26
|
+
send_instructions: "Entro qualche minuto riceverai un messaggio email con le istruzioni per reimpostare la tua password."
|
27
|
+
updated: "La tua password è stata cambiata. Ora sei collegato."
|
28
|
+
updated_not_active: "La tua password è stata cambiata."
|
29
|
+
send_paranoid_instructions: "Se la tua email esiste nel nostro database, entro qualche minuto riceverai un messaggio email contentente un link per il ripristino della password"
|
30
|
+
confirmations:
|
31
|
+
send_instructions: "Riceverai un messaggio email con le istruzioni per confermare il tuo account entro qualche minuto."
|
32
|
+
send_paranoid_instructions: "Se la tua email esiste nel nostro database, entro qualche minuto riceverai un messaggio email con le istruzioni per confermare il tuo account."
|
33
|
+
confirmed: "Il tuo account è stato correttamente confermato. Ora sei collegato."
|
34
|
+
registrations:
|
35
|
+
signed_up: "Benvenuto! Ti sei registrato correttamente."
|
36
|
+
signed_up_but_unconfirmed: "Ti sei registrato correttamente. Tuttavia non puoi effettuare l'accesso perchè il tuo account è da confermare. Per favore apri il link che hai ricevuto tramite email per attivare il tuo account."
|
37
|
+
signed_up_but_inactive: "Ti sei registrato correttamente. Tuttavia non puoi effettuare l'accesso perchè il tuo account non è stato ancora attivato."
|
38
|
+
signed_up_but_locked: "Ti sei registrato correttamente. Tuttavia non puoi effettuare l'accesso perchè il tuo account è bloccato."
|
39
|
+
updated: "Il tuo account è stato aggiornato."
|
40
|
+
update_needs_confirmation: "Il tuo account è stato aggiornato, tuttavia è necessario verificare il tuo nuovo indirizzo email. Entro qualche minuto riceverai un messaggio email con le istruzioni per confermare il tuo nuovo indirizzo email."
|
41
|
+
destroyed: "Arrivederci! L'account è stato cancellato. Speriamo di rivederci presto."
|
42
|
+
unlocks:
|
43
|
+
send_instructions: "Entro qualche minuto riceverai un messaggio email con le istruzioni per sbloccare il tuo account."
|
44
|
+
unlocked: "Il tuo account è stato correttamente sbloccato. Ora sei collegato."
|
45
|
+
send_paranoid_instructions: "Se la tua email esiste nel nostro database, entro qualche minuto riceverai un messaggio email con le istruzioni per sbloccare il tuo account."
|
46
|
+
omniauth_callbacks:
|
47
|
+
success: "Autenticato con successo dall'account %{kind}."
|
48
|
+
failure: 'Non è stato possibile autenticarti come %{kind} perchè "%{reason}".'
|
49
|
+
mailer:
|
50
|
+
confirmation_instructions:
|
51
|
+
subject: "Istruzioni per la conferma"
|
52
|
+
reset_password_instructions:
|
53
|
+
subject: "Istruzioni per reimpostare la password"
|
54
|
+
unlock_instructions:
|
55
|
+
subject: "Istruzioni per sbloccare l'account"
|
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.5
|
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-
|
12
|
+
date: 2012-12-10 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rake
|
@@ -91,6 +91,22 @@ dependencies:
|
|
91
91
|
- - ! '>='
|
92
92
|
- !ruby/object:Gem::Version
|
93
93
|
version: '0'
|
94
|
+
- !ruby/object:Gem::Dependency
|
95
|
+
name: mechanize
|
96
|
+
requirement: !ruby/object:Gem::Requirement
|
97
|
+
none: false
|
98
|
+
requirements:
|
99
|
+
- - ! '>='
|
100
|
+
- !ruby/object:Gem::Version
|
101
|
+
version: '0'
|
102
|
+
type: :runtime
|
103
|
+
prerelease: false
|
104
|
+
version_requirements: !ruby/object:Gem::Requirement
|
105
|
+
none: false
|
106
|
+
requirements:
|
107
|
+
- - ! '>='
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: '0'
|
94
110
|
description: Generate ActiveAdmin projects
|
95
111
|
email:
|
96
112
|
- stefano.verna@welaika.com
|
@@ -116,6 +132,7 @@ files:
|
|
116
132
|
- lib/active_admin/generator/bricks/frontend.rb
|
117
133
|
- lib/active_admin/generator/bricks/git.rb
|
118
134
|
- lib/active_admin/generator/bricks/heroku.rb
|
135
|
+
- lib/active_admin/generator/bricks/init.rb
|
119
136
|
- lib/active_admin/generator/cli.rb
|
120
137
|
- lib/active_admin/generator/templates/app/assets/fonts/.empty_directory
|
121
138
|
- lib/active_admin/generator/templates/app/assets/images/.empty_directory
|
@@ -140,10 +157,13 @@ files:
|
|
140
157
|
- lib/active_admin/generator/templates/app/views/application/_js_includes.html.slim
|
141
158
|
- lib/active_admin/generator/templates/app/views/layouts/application.html.slim
|
142
159
|
- lib/active_admin/generator/templates/app/views/static/homepage.html.slim
|
160
|
+
- lib/active_admin/generator/templates/config.ru
|
143
161
|
- lib/active_admin/generator/templates/config/active_admin_initializer.rb
|
144
162
|
- lib/active_admin/generator/templates/config/database.yml
|
145
163
|
- lib/active_admin/generator/templates/config/initializers/active_admin.rb
|
146
164
|
- lib/active_admin/generator/templates/config/initializers/dragonfly.rb
|
165
|
+
- lib/active_admin/generator/templates/config/initializers/errbit.rb
|
166
|
+
- lib/active_admin/generator/templates/config/locales/devise.it.yml
|
147
167
|
- lib/active_admin/generator/templates/config/locales/it.yml
|
148
168
|
- lib/active_admin/generator/templates/db/migrate/20121126113057_create_asset_thumbs.rb
|
149
169
|
- lib/active_admin/generator/version.rb
|