weapon 0.0.0 → 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/weapon +7 -0
- data/lib/support/custom_i18n/_form.html.slim +10 -0
- data/lib/support/custom_i18n/controller.rb +68 -0
- data/lib/support/custom_i18n/edit.html.slim +7 -0
- data/lib/support/custom_i18n/i18n_scaffold_controller_generator.rb +63 -0
- data/lib/support/custom_i18n/index.html.slim +23 -0
- data/lib/support/custom_i18n/new.html.slim +5 -0
- data/lib/support/custom_i18n/show.html.slim +11 -0
- data/lib/support/custom_i18n/zh-CN.yml +8 -0
- data/lib/support/exception_slack_notify/exception_notification.rb +59 -0
- data/lib/support/rails_settings_ui/rails_settings_ui.rb +14 -0
- data/lib/support/rails_settings_ui/setting.rb +17 -0
- data/lib/weapon.rb +107 -3
- metadata +58 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: adbdcd9c9ecfe8d01977856be7ea48e05f0ca00b
|
4
|
+
data.tar.gz: c17182d3df20f3bdb1a6b549ea1681ded2d5ec5b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1a80078533dbed3a4ec272ee1999a76704e566e9d17b11c80b7f1d78f0ac812217bbd44516e4872d0daebe17e560446541826c52032bf6ddedb8d008e39a0b43
|
7
|
+
data.tar.gz: 8d21f59c6273382c9ab1bd7ddb6a41ab3c9a6209306d4446cddfd56280ce44e8a1b2a6038234df7a4c5c44bef1394439660de3440f21e981b525301ec8c512cc
|
data/bin/weapon
ADDED
@@ -0,0 +1,10 @@
|
|
1
|
+
= simple_form_for(@<%= singular_table_name %>) do |f|
|
2
|
+
= f.error_notification
|
3
|
+
|
4
|
+
.form-inputs
|
5
|
+
<%- attributes.each do |attribute| -%>
|
6
|
+
= f.<%= attribute.reference? ? :association : :input %> :<%= attribute.name %>
|
7
|
+
<%- end -%>
|
8
|
+
|
9
|
+
.form-actions
|
10
|
+
= f.button :submit
|
@@ -0,0 +1,68 @@
|
|
1
|
+
<% if namespaced? -%>
|
2
|
+
require_dependency "<%= namespaced_file_path %>/application_controller"
|
3
|
+
|
4
|
+
<% end -%>
|
5
|
+
<% module_namespacing do -%>
|
6
|
+
class <%= controller_class_name %>Controller < ApplicationController
|
7
|
+
before_action :set_<%= singular_table_name %>, only: [:show, :edit, :update, :destroy]
|
8
|
+
|
9
|
+
# GET <%= route_url %>
|
10
|
+
def index
|
11
|
+
@<%= plural_table_name %> = <%= orm_class.all(class_name) %>
|
12
|
+
end
|
13
|
+
|
14
|
+
# GET <%= route_url %>/1
|
15
|
+
def show
|
16
|
+
end
|
17
|
+
|
18
|
+
# GET <%= route_url %>/new
|
19
|
+
def new
|
20
|
+
@<%= singular_table_name %> = <%= orm_class.build(class_name) %>
|
21
|
+
end
|
22
|
+
|
23
|
+
# GET <%= route_url %>/1/edit
|
24
|
+
def edit
|
25
|
+
end
|
26
|
+
|
27
|
+
# POST <%= route_url %>
|
28
|
+
def create
|
29
|
+
@<%= singular_table_name %> = <%= orm_class.build(class_name, "#{singular_table_name}_params") %>
|
30
|
+
|
31
|
+
if @<%= orm_instance.save %>
|
32
|
+
redirect_to @<%= singular_table_name %>, notice: <%= "t('action.created.successfully')" %>
|
33
|
+
else
|
34
|
+
render :new
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
# PATCH/PUT <%= route_url %>/1
|
39
|
+
def update
|
40
|
+
if @<%= orm_instance.update("#{singular_table_name}_params") %>
|
41
|
+
redirect_to @<%= singular_table_name %>, notice: <%= "t('action.updated.successfully')" %>
|
42
|
+
else
|
43
|
+
render :edit
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
# DELETE <%= route_url %>/1
|
48
|
+
def destroy
|
49
|
+
@<%= orm_instance.destroy %>
|
50
|
+
redirect_to <%= index_helper %>_url, notice: <%= "t('action.destroyed.successfully')" %>
|
51
|
+
end
|
52
|
+
|
53
|
+
private
|
54
|
+
# Use callbacks to share common setup or constraints between actions.
|
55
|
+
def set_<%= singular_table_name %>
|
56
|
+
@<%= singular_table_name %> = <%= orm_class.find(class_name, "params[:id]") %>
|
57
|
+
end
|
58
|
+
|
59
|
+
# Only allow a trusted parameter "white list" through.
|
60
|
+
def <%= "#{singular_table_name}_params" %>
|
61
|
+
<%- if attributes_names.empty? -%>
|
62
|
+
params[:<%= singular_table_name %>]
|
63
|
+
<%- else -%>
|
64
|
+
params.require(:<%= singular_table_name %>).permit(<%= attributes_names.map { |name| ":#{name}" }.join(', ') %>)
|
65
|
+
<%- end -%>
|
66
|
+
end
|
67
|
+
end
|
68
|
+
<% end -%>
|
@@ -0,0 +1,63 @@
|
|
1
|
+
require 'rails/generators/resource_helpers'
|
2
|
+
|
3
|
+
module Rails
|
4
|
+
module Generators
|
5
|
+
class I18nScaffoldControllerGenerator < NamedBase # :nodoc:
|
6
|
+
include ResourceHelpers
|
7
|
+
|
8
|
+
check_class_collision suffix: "Controller"
|
9
|
+
|
10
|
+
class_option :helper, type: :boolean
|
11
|
+
class_option :orm, banner: "NAME", type: :string, required: true,
|
12
|
+
desc: "ORM to generate the controller for"
|
13
|
+
class_option :api, type: :boolean,
|
14
|
+
desc: "Generates API controller"
|
15
|
+
|
16
|
+
argument :attributes, type: :array, default: [], banner: "field:type field:type"
|
17
|
+
|
18
|
+
def update_i18n
|
19
|
+
data = YAML.load_file "config/locales/zh-CN.yml"
|
20
|
+
if not data.has_key?("zh-CN")
|
21
|
+
data["zh-CN"] = {}
|
22
|
+
end
|
23
|
+
if not data['zh-CN'].has_key?("activerecord")
|
24
|
+
data["zh-CN"]["activerecord"] = {"models" => {}, "attributes" => {file_name => {}}}
|
25
|
+
end
|
26
|
+
if not data["zh-CN"].has_key?("helpers")
|
27
|
+
data["zh-CN"]["helpers"] = {}
|
28
|
+
end
|
29
|
+
|
30
|
+
if not data["zh-CN"]["helpers"].has_key?("submit")
|
31
|
+
data["zh-CN"]["helpers"]["submit"] = {}
|
32
|
+
end
|
33
|
+
data["zh-CN"]["helpers"]["submit"][file_name] = {"create" => "创建", "update" => "更新"}
|
34
|
+
|
35
|
+
data["zh-CN"]["activerecord"]["models"][file_name] = file_name
|
36
|
+
data["zh-CN"]["activerecord"]["attributes"][file_name] = {}
|
37
|
+
|
38
|
+
attributes.each do |attr|
|
39
|
+
data["zh-CN"]["activerecord"]["attributes"][file_name][attr.name] = attr.name
|
40
|
+
end
|
41
|
+
data["zh-CN"]["activerecord"]["attributes"][file_name]['id'] = 'ID'
|
42
|
+
data["zh-CN"]["activerecord"]["attributes"][file_name]['created_at'] = '创建时间'
|
43
|
+
data["zh-CN"]["activerecord"]["attributes"][file_name]['updated_at'] = '更新时间'
|
44
|
+
|
45
|
+
data["zh-CN"]['action'] = {'back' => '返回', 'new' => '创建', 'show' => '查看', 'edit' => '编辑', 'delete' => '删除', 'confirm_delete' => '确认删除', 'created' => {'successfully' => '创建成功'}, 'updated' => {'successfully' => '更新成功'}, 'destroyed' => {'successfully' => '删除成功'}}
|
46
|
+
|
47
|
+
File.open("config/locales/zh-CN.yml", 'wb') { |f| YAML.dump(data, f) }
|
48
|
+
end
|
49
|
+
|
50
|
+
def create_controller_files
|
51
|
+
template_file = options.api? ? "api_controller.rb" : "controller.rb"
|
52
|
+
template template_file, File.join('app/controllers', controller_class_path, "#{controller_file_name}_controller.rb")
|
53
|
+
end
|
54
|
+
|
55
|
+
hook_for :template_engine, :test_framework, as: :scaffold
|
56
|
+
|
57
|
+
# Invoke the helper using the controller name (pluralized)
|
58
|
+
hook_for :helper, as: :scaffold do |invoked|
|
59
|
+
invoke invoked, [ controller_name ]
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
h1 = <%= class_name %>.model_name.human
|
2
|
+
|
3
|
+
table.table.table-striped
|
4
|
+
tr
|
5
|
+
<% attributes.each do |attribute| -%>
|
6
|
+
th = <%= class_name %>.human_attribute_name("<%= attribute.name %>")
|
7
|
+
<% end -%>
|
8
|
+
th
|
9
|
+
th
|
10
|
+
th
|
11
|
+
|
12
|
+
- @<%= plural_table_name %>.each do |<%= singular_table_name %>|
|
13
|
+
tr
|
14
|
+
<% attributes.each do |attribute| -%>
|
15
|
+
td = <%= singular_table_name %>.<%= attribute.name %>
|
16
|
+
<% end -%>
|
17
|
+
td = link_to t('action.show'), <%= singular_table_name %>
|
18
|
+
td = link_to t('action.edit'), edit_<%= singular_table_name %>_path(<%= singular_table_name %>)
|
19
|
+
td = link_to t('action.delete'), <%= singular_table_name %>, :confirm => t('action.confirm_delete'), :method => :delete
|
20
|
+
|
21
|
+
br
|
22
|
+
|
23
|
+
= link_to (t('action.new') + <%= class_name %>.model_name.human), new_<%= singular_table_name %>_path
|
@@ -0,0 +1,11 @@
|
|
1
|
+
p#notice = notice
|
2
|
+
|
3
|
+
<% attributes.each do |attribute| -%>
|
4
|
+
p
|
5
|
+
strong = <%= class_name %>.human_attribute_name("<%= attribute.name %>") + ':'
|
6
|
+
= @<%= singular_table_name %>.<%= attribute.name %>
|
7
|
+
<% end -%>
|
8
|
+
|
9
|
+
= link_to t('action.edit'), edit_<%= singular_table_name %>_path(@<%= singular_table_name %>)
|
10
|
+
'|
|
11
|
+
= link_to t('action.back'), <%= index_helper %>_path
|
@@ -0,0 +1,59 @@
|
|
1
|
+
require 'exception_notification/rails'
|
2
|
+
|
3
|
+
# config/initializers/exception_notification.rb
|
4
|
+
require 'exception_notification/sidekiq'
|
5
|
+
|
6
|
+
# 自定义 notifier(slack)
|
7
|
+
module ExceptionNotifier
|
8
|
+
class SlackNotifier
|
9
|
+
|
10
|
+
attr_accessor :notifier
|
11
|
+
|
12
|
+
def initialize(options)
|
13
|
+
begin
|
14
|
+
webhook_url = options.fetch(:webhook_url)
|
15
|
+
@message_opts = options.fetch(:additional_parameters, {})
|
16
|
+
@notifier = Slack::Notifier.new webhook_url, options
|
17
|
+
rescue
|
18
|
+
@notifier = nil
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
def call(exception, options={})
|
23
|
+
message = [
|
24
|
+
"时间: #{ Time.now.to_s }",
|
25
|
+
"URL: #{ options[:env]["REQUEST_URI"] }",
|
26
|
+
"参数: #{ options[:env]["action_dispatch.request.parameters"] }",
|
27
|
+
"用户IP: #{ options[:env]["action_dispatch.remote_ip"] }",
|
28
|
+
"异常: #{ [exception.message, exception.backtrace].flatten.join("\n") }",
|
29
|
+
"==============================================="
|
30
|
+
].join("\n\n")
|
31
|
+
|
32
|
+
@notifier.ping(message, @message_opts) if valid?
|
33
|
+
end
|
34
|
+
|
35
|
+
protected
|
36
|
+
|
37
|
+
def valid?
|
38
|
+
!@notifier.nil?
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
ExceptionNotification.configure do |config|
|
44
|
+
# Ignore additional exception types.
|
45
|
+
# ActiveRecord::RecordNotFound, AbstractController::ActionNotFound and ActionController::RoutingError are already added.
|
46
|
+
# config.ignored_exceptions += %w{ActionView::TemplateError CustomError}
|
47
|
+
|
48
|
+
# Adds a condition to decide when an exception must be ignored or not.
|
49
|
+
# The ignore_if method can be invoked multiple times to add extra conditions.
|
50
|
+
config.ignore_if do |exception, options|
|
51
|
+
not Rails.env.production?
|
52
|
+
end
|
53
|
+
|
54
|
+
config.add_notifier :slack, {
|
55
|
+
:webhook_url => "slack_webhook_url",
|
56
|
+
:channel => "slack_channel",
|
57
|
+
}
|
58
|
+
|
59
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
require 'rails-settings-ui'
|
2
|
+
|
3
|
+
#= Application-specific
|
4
|
+
#
|
5
|
+
# # You can specify a controller for RailsSettingsUi::ApplicationController to inherit from:
|
6
|
+
# RailsSettingsUi.parent_controller = 'Admin::ApplicationController' # default: '::ApplicationController'
|
7
|
+
#
|
8
|
+
# # Render RailsSettingsUi inside a custom layout (set to 'application' to use app layout, default is RailsSettingsUi's own layout)
|
9
|
+
# RailsSettingsUi::ApplicationController.layout 'admin'
|
10
|
+
|
11
|
+
RailsSettingsUi.setup do |config|
|
12
|
+
config.settings_class = "Setting" # Customize settings class name
|
13
|
+
config.parent_controller = 'ActionController::Base'
|
14
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
# == Schema Information
|
2
|
+
#
|
3
|
+
# Table name: settings
|
4
|
+
#
|
5
|
+
# id :integer not null, primary key
|
6
|
+
# var :string(255) not null
|
7
|
+
# value :text(65535)
|
8
|
+
# thing_id :integer
|
9
|
+
# thing_type :string(30)
|
10
|
+
# created_at :datetime
|
11
|
+
# updated_at :datetime
|
12
|
+
#
|
13
|
+
|
14
|
+
class Setting < RailsSettings::CachedSettings
|
15
|
+
defaults[:mobile_regex_format] = '^1[3|4|5|8][0-9]\\d{8}$'
|
16
|
+
defaults[:real_name_regex_format] = '^[\u4E00-\u9FA5]{2,4}$'
|
17
|
+
end
|
data/lib/weapon.rb
CHANGED
@@ -1,5 +1,109 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
1
|
+
require 'thor'
|
2
|
+
require 'awesome_print'
|
3
|
+
|
4
|
+
class Weapon < Thor
|
5
|
+
include Thor::Actions
|
6
|
+
|
7
|
+
def self.source_root
|
8
|
+
File.dirname(__FILE__)
|
4
9
|
end
|
10
|
+
|
11
|
+
desc "makesure_in_git", "makesure all the files is in git version control"
|
12
|
+
def makesure_in_git
|
13
|
+
run "spring stop"
|
14
|
+
unless (run "git remote -v")
|
15
|
+
puts "this project should in version controll use git"
|
16
|
+
run "git init"
|
17
|
+
run "git add *"
|
18
|
+
run "git commit -a -m 'first commit'"
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
desc "setup_mina_deploy", "setup mina deploy"
|
23
|
+
def setup_mina_deploy
|
24
|
+
invoke :makesure_in_git
|
25
|
+
puts "setup mina deploy"
|
26
|
+
run "mina init"
|
27
|
+
username = ask("input your user name on deploy host:")
|
28
|
+
File.open('config/deploy.rb', 'a') { |f| f.write("\nset :user, '#{username}' ")}
|
29
|
+
domain = ask("input your deploy host, like example.com or 123.100.100.100:")
|
30
|
+
gsub_file "config/deploy.rb", "'foobar.com'", "'" + domain + "'"
|
31
|
+
directory = ask("input your deploy directory:")
|
32
|
+
directory = directory.gsub(/\/$/, "")
|
33
|
+
gsub_file "config/deploy.rb", "/var/www/foobar.com", directory
|
34
|
+
|
35
|
+
repository = ask("input your git remote url to pull from, like git@github.com:seaify/weapon.git ")
|
36
|
+
gsub_file "config/deploy.rb", "git://...", repository
|
37
|
+
|
38
|
+
setup_dir_command = 'ssh ' + username + '@' + domain + " -t 'mkdir -p " + directory + ';chown -R ' + username + ' ' + directory + "'"
|
39
|
+
run setup_dir_command
|
40
|
+
|
41
|
+
run 'mina setup'
|
42
|
+
run 'scp config/database.yml ' + username + '@' + domain + ':' + directory + '/shared/config/'
|
43
|
+
run 'mina deploy'
|
44
|
+
end
|
45
|
+
|
46
|
+
desc "setup_settings_ui", "setup settings ui"
|
47
|
+
def setup_settings_ui
|
48
|
+
invoke :makesure_in_git
|
49
|
+
#inject_into_file "Gemfile", "gem 'rails-settings-ui', '~> 0.3.0'\n gem 'rails-settings-cached', '0.4.1'\n", :before => /^end/
|
50
|
+
File.open("Gemfile", "a").write("\ngem 'rails-settings-ui', '~> 0.3.0'\n gem 'rails-settings-cached', '0.4.1'\n")
|
51
|
+
run "bundle"
|
52
|
+
run "rails g settings setting"
|
53
|
+
run "rails g rails_settings_ui:install"
|
54
|
+
run "rake db:migrate"
|
55
|
+
copy_file 'support/rails_settings_ui/rails_settings_ui.rb', 'config/initializers/rails_settings_ui.rb'
|
56
|
+
copy_file 'support/rails_settings_ui/setting.rb', 'app/models/setting.rb'
|
57
|
+
end
|
58
|
+
|
59
|
+
desc "custom_i18n", "custom i18n and use slim as template engine, use simple_form, currently write to zh-CN.yml"
|
60
|
+
def custom_i18n
|
61
|
+
invoke :makesure_in_git
|
62
|
+
puts "custom i18n"
|
63
|
+
File.open("Gemfile", "a").write("\ngem 'slim-rails'\ngem 'simple_form', '~> 3.1.0'")
|
64
|
+
run "bundle"
|
65
|
+
|
66
|
+
unless File.exist?('config/locales/zh-CN.yml')
|
67
|
+
copy_file 'support/custom_i18n/zh-CN.yml', 'config/locales/zh-CN.yml'
|
68
|
+
end
|
69
|
+
|
70
|
+
invoke :config_bootstrap
|
71
|
+
run "rails g simple_form:install --bootstrap"
|
72
|
+
copy_file 'support/custom_i18n/_form.html.slim', 'lib/templates/slim/scaffold/_form.html.slim'
|
73
|
+
copy_file 'support/custom_i18n/index.html.slim', 'lib/templates/slim/scaffold/index.html.slim'
|
74
|
+
copy_file 'support/custom_i18n/new.html.slim', 'lib/templates/slim/scaffold/new.html.slim'
|
75
|
+
copy_file 'support/custom_i18n/edit.html.slim', 'lib/templates/slim/scaffold/edit.html.slim'
|
76
|
+
copy_file 'support/custom_i18n/show.html.slim', 'lib/templates/slim/scaffold/show.html.slim'
|
77
|
+
|
78
|
+
copy_file 'support/custom_i18n/controller.rb', 'lib/templates/rails/i18n_scaffold_controller/controller.rb'
|
79
|
+
copy_file 'support/custom_i18n/i18n_scaffold_controller_generator.rb', 'lib/generators/rails/i18n_scaffold_controller/i18n_scaffold_controller_generator.rb'
|
80
|
+
|
81
|
+
inject_into_file 'config/application.rb', after: "# -- all .rb files in that directory are automatically loaded.\n" do <<-'RUBY'
|
82
|
+
config.generators.template_engine = :slim
|
83
|
+
config.generators.scaffold_controller = "i18n_scaffold_controller"
|
84
|
+
config.i18n.default_locale = "zh-CN"
|
85
|
+
RUBY
|
86
|
+
end
|
87
|
+
run "rails g simple_form:install --bootstrap"
|
88
|
+
end
|
89
|
+
|
90
|
+
desc "config_bootstrap", "config bootstrap, example, used for simmple_form"
|
91
|
+
def config_bootstrap
|
92
|
+
File.open("Gemfile", "a").write("\ngem 'bootstrap-sass'")
|
93
|
+
run "bundle"
|
94
|
+
#config bootstrap stylesheets
|
95
|
+
File.open('app/assets/javascripts/application.js', 'a') { |f| f.write("\n//= require bootstrap-sprockets")}
|
96
|
+
File.open('app/assets/stylesheets/application.scss', 'a') { |f| f.write("\n@import 'bootstrap-sprockets';\n@import 'bootstrap';") }
|
97
|
+
run "rm app/assets/stylesheets/application.css"
|
98
|
+
end
|
99
|
+
|
100
|
+
desc "push_to_github", "push to github"
|
101
|
+
def push_to_github
|
102
|
+
invoke :makesure_in_git
|
103
|
+
puts "pull to github"
|
104
|
+
run 'gem install hub'
|
105
|
+
run "hub create #{File.basename(Dir.getwd)}"
|
106
|
+
run "hub push -u origin master"
|
107
|
+
end
|
108
|
+
|
5
109
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: weapon
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Chuck.lei
|
@@ -9,14 +9,69 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
date: 2015-07-15 00:00:00.000000000 Z
|
12
|
-
dependencies:
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: rspec
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '3.3'
|
20
|
+
type: :development
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '3.3'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: thor
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0.14'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0.14'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: awesome_print
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '1.6'
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '1.6'
|
13
55
|
description: provide mina deploy, github setup, slack exception notify, i18n scaffold,
|
14
56
|
rails-settings-ui, guard custom
|
15
57
|
email: dilin.life@gmail.com
|
16
|
-
executables:
|
58
|
+
executables:
|
59
|
+
- weapon
|
17
60
|
extensions: []
|
18
61
|
extra_rdoc_files: []
|
19
62
|
files:
|
63
|
+
- bin/weapon
|
64
|
+
- lib/support/custom_i18n/_form.html.slim
|
65
|
+
- lib/support/custom_i18n/controller.rb
|
66
|
+
- lib/support/custom_i18n/edit.html.slim
|
67
|
+
- lib/support/custom_i18n/i18n_scaffold_controller_generator.rb
|
68
|
+
- lib/support/custom_i18n/index.html.slim
|
69
|
+
- lib/support/custom_i18n/new.html.slim
|
70
|
+
- lib/support/custom_i18n/show.html.slim
|
71
|
+
- lib/support/custom_i18n/zh-CN.yml
|
72
|
+
- lib/support/exception_slack_notify/exception_notification.rb
|
73
|
+
- lib/support/rails_settings_ui/rails_settings_ui.rb
|
74
|
+
- lib/support/rails_settings_ui/setting.rb
|
20
75
|
- lib/weapon.rb
|
21
76
|
homepage: http://rubygems.org/gems/weapon
|
22
77
|
licenses:
|