lathe 0.0.1
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/.gitignore +17 -0
- data/Gemfile +5 -0
- data/LICENSE +22 -0
- data/README.md +29 -0
- data/Rakefile +2 -0
- data/bin/lathe +7 -0
- data/lathe.gemspec +22 -0
- data/lib/lathe/cli.rb +65 -0
- data/lib/lathe/generators/mini_app/%app_path%.gemspec.tt +18 -0
- data/lib/lathe/generators/mini_app/Gemfile +17 -0
- data/lib/lathe/generators/mini_app/README.md.tt +24 -0
- data/lib/lathe/generators/mini_app/Rakefile.tt +40 -0
- data/lib/lathe/generators/mini_app/app/assets/images/%app_path%/%app_name%.png +0 -0
- data/lib/lathe/generators/mini_app/app/assets/images/%app_path%/%app_name%_active.png +0 -0
- data/lib/lathe/generators/mini_app/app/assets/images/%app_path%/%app_name%_white.png +0 -0
- data/lib/lathe/generators/mini_app/app/assets/javascripts/%app_path%/app/templates/mini_apps/%app_name%/new.js.dust.tt +6 -0
- data/lib/lathe/generators/mini_app/app/assets/javascripts/%app_path%/app/templates/mini_apps/%app_name%/show.js.dust.tt +3 -0
- data/lib/lathe/generators/mini_app/app/assets/javascripts/%app_path%/app/templates/mobile/mini_apps/%app_name%/new.js.dust.tt +3 -0
- data/lib/lathe/generators/mini_app/app/assets/javascripts/%app_path%/app/templates/mobile/mini_apps/%app_name%/show.js.dust.tt +3 -0
- data/lib/lathe/generators/mini_app/app/assets/javascripts/%app_path%/app/views/mini_apps/%app_name%/new.js.tt +19 -0
- data/lib/lathe/generators/mini_app/app/assets/javascripts/%app_path%/app/views/mini_apps/%app_name%/show.js.tt +22 -0
- data/lib/lathe/generators/mini_app/app/assets/javascripts/%app_path%/application.js +13 -0
- data/lib/lathe/generators/mini_app/app/assets/stylesheets/%app_path%/%app_name%.less.tt +11 -0
- data/lib/lathe/generators/mini_app/app/assets/stylesheets/%app_path%/application.css +13 -0
- data/lib/lathe/generators/mini_app/app/controllers/%app_path%/%app_name%_controller.rb.tt +8 -0
- data/lib/lathe/generators/mini_app/app/helpers/%app_path%/application_helper.rb +4 -0
- data/lib/lathe/generators/mini_app/app/mailers/.empty_directory +0 -0
- data/lib/lathe/generators/mini_app/app/models/%app_path%/%app_name%.rb.tt +13 -0
- data/lib/lathe/generators/mini_app/app/views/layouts/%app_path%/.empty_directory +0 -0
- data/lib/lathe/generators/mini_app/config/.empty_directory +0 -0
- data/lib/lathe/generators/mini_app/config/locales/fontend.en.yml.tt +9 -0
- data/lib/lathe/generators/mini_app/config/locales/fontend.zh-CN.yml.tt +9 -0
- data/lib/lathe/generators/mini_app/config/routes.rb.tt +3 -0
- data/lib/lathe/generators/mini_app/db/migrate/%now%_add_type_to_%app_path%.rb.tt +9 -0
- data/lib/lathe/generators/mini_app/lib/%app_path%/engine.rb.tt +10 -0
- data/lib/lathe/generators/mini_app/lib/%app_path%/version.rb.tt +3 -0
- data/lib/lathe/generators/mini_app/lib/%app_path%.rb.tt +6 -0
- data/lib/lathe/generators/mini_app/lib/generators/%app_path%/install_generator.rb.tt +33 -0
- data/lib/lathe/generators/mini_app/lib/generators/%app_path%/templates/README +6 -0
- data/lib/lathe/generators/mini_app/lib/tasks/%app_path%_tasks.rake.tt +4 -0
- data/lib/lathe/string.rb +14 -0
- data/lib/lathe/version.rb +3 -0
- data/lib/lathe.rb +5 -0
- metadata +105 -0
data/.gitignore
ADDED
data/Gemfile
ADDED
data/LICENSE
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
Copyright (c) 2013 vulgarcoder
|
|
2
|
+
|
|
3
|
+
MIT License
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
|
6
|
+
a copy of this software and associated documentation files (the
|
|
7
|
+
"Software"), to deal in the Software without restriction, including
|
|
8
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
|
9
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
|
10
|
+
permit persons to whom the Software is furnished to do so, subject to
|
|
11
|
+
the following conditions:
|
|
12
|
+
|
|
13
|
+
The above copyright notice and this permission notice shall be
|
|
14
|
+
included in all copies or substantial portions of the Software.
|
|
15
|
+
|
|
16
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
17
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
18
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
|
19
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
|
20
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
|
21
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
|
22
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.md
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# Miniapps
|
|
2
|
+
|
|
3
|
+
Generator for minxing365's plugin developer.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
Add this line to your application's Gemfile:
|
|
8
|
+
|
|
9
|
+
gem 'lathe'
|
|
10
|
+
|
|
11
|
+
And then execute:
|
|
12
|
+
|
|
13
|
+
$ bundle
|
|
14
|
+
|
|
15
|
+
Or install it yourself as:
|
|
16
|
+
|
|
17
|
+
$ gem install lathe
|
|
18
|
+
|
|
19
|
+
## Usage
|
|
20
|
+
|
|
21
|
+
lathe new study
|
|
22
|
+
|
|
23
|
+
## Contributing
|
|
24
|
+
|
|
25
|
+
1. Fork it
|
|
26
|
+
2. Create your feature branch (`git checkout -b my-new-feature`)
|
|
27
|
+
3. Commit your changes (`git commit -am 'Added some feature'`)
|
|
28
|
+
4. Push to the branch (`git push origin my-new-feature`)
|
|
29
|
+
5. Create new Pull Request
|
data/Rakefile
ADDED
data/bin/lathe
ADDED
data/lathe.gemspec
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
|
2
|
+
require File.expand_path('../lib/lathe/version', __FILE__)
|
|
3
|
+
|
|
4
|
+
Gem::Specification.new do |gem|
|
|
5
|
+
gem.authors = ["vulgarcoder"]
|
|
6
|
+
gem.email = ["vulgarcoder@gmail.com"]
|
|
7
|
+
gem.description = %q{Generator for plugin developer.}
|
|
8
|
+
gem.summary = %q{For minxing365.com}
|
|
9
|
+
gem.homepage = "http://minxing365.com"
|
|
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 = "lathe"
|
|
15
|
+
gem.require_paths = ["lib"]
|
|
16
|
+
gem.version = Lathe::VERSION
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
gem.add_dependency(%q<thor>, ["~> 0.14.6"])
|
|
21
|
+
|
|
22
|
+
end
|
data/lib/lathe/cli.rb
ADDED
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
#encoding: utf-8
|
|
2
|
+
require 'thor'
|
|
3
|
+
|
|
4
|
+
module Lathe
|
|
5
|
+
class CLI < Thor
|
|
6
|
+
include Thor::Actions
|
|
7
|
+
|
|
8
|
+
# method_option :miniapp, :type => :boolean
|
|
9
|
+
def self.source_root
|
|
10
|
+
File.join File.dirname(__FILE__), 'generators'
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
argument :app_name, required: false
|
|
15
|
+
desc 'new', 'create a plugin project'
|
|
16
|
+
method_option :exclude, :type => :boolean, :description => '是否需要生成miniapp的相关输入框架', :default => false
|
|
17
|
+
def new
|
|
18
|
+
if app_name
|
|
19
|
+
if(options[:exclude]) then
|
|
20
|
+
@app_path=app_name
|
|
21
|
+
directory 'mini_app', @app_path
|
|
22
|
+
else
|
|
23
|
+
@app_path="mini_app_"+app_name
|
|
24
|
+
directory 'mini_app', @app_path
|
|
25
|
+
end
|
|
26
|
+
else
|
|
27
|
+
say '请输入应用名称'
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
no_tasks do
|
|
31
|
+
def now
|
|
32
|
+
Time.now.strftime("%Y%m%d%H%M%S")
|
|
33
|
+
end
|
|
34
|
+
def app_path
|
|
35
|
+
@app_path
|
|
36
|
+
end
|
|
37
|
+
def package
|
|
38
|
+
@app_path.camelize
|
|
39
|
+
end
|
|
40
|
+
def app_class
|
|
41
|
+
app_name.camelize
|
|
42
|
+
end
|
|
43
|
+
def the_banner
|
|
44
|
+
puts <<-THING
|
|
45
|
+
1.create plugin include miniapp
|
|
46
|
+
lathe new [app_name]
|
|
47
|
+
|
|
48
|
+
2.create plugin without miniapp
|
|
49
|
+
lathe new [app_name] --exclude
|
|
50
|
+
THING
|
|
51
|
+
help # call help to tack on those useful Task descriptions
|
|
52
|
+
end
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
if ARGV.empty?
|
|
56
|
+
# Perform the default, it doesn't have to be a Thor task
|
|
57
|
+
CLI.new.the_banner
|
|
58
|
+
else
|
|
59
|
+
# Start Thor as usual
|
|
60
|
+
CLI.start
|
|
61
|
+
end
|
|
62
|
+
# CLI.start
|
|
63
|
+
|
|
64
|
+
end #Miniapps
|
|
65
|
+
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
$:.push File.expand_path("../lib", __FILE__)
|
|
2
|
+
|
|
3
|
+
# Maintain your gem's version:
|
|
4
|
+
require "<%=app_path%>/version"
|
|
5
|
+
|
|
6
|
+
# Describe your gem and declare its dependencies:
|
|
7
|
+
Gem::Specification.new do |s|
|
|
8
|
+
s.name = "<%=app_path%>"
|
|
9
|
+
s.version = <%=package%>::VERSION
|
|
10
|
+
s.authors = ["dev@dehuinet.com"]
|
|
11
|
+
s.email = ["dev@dehuinet.com"]
|
|
12
|
+
s.homepage = ""
|
|
13
|
+
s.summary = %q{TODO: Write a gem summary}
|
|
14
|
+
s.description = %q{TODO: Write a gem description}
|
|
15
|
+
s.require_paths = ["lib"]
|
|
16
|
+
s.files = Dir["{app,config,db,lib}/**/*"] + ["MIT-LICENSE", "Rakefile", "README.rdoc"]
|
|
17
|
+
s.test_files = Dir["test/**/*"]
|
|
18
|
+
end
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
#source "https://rubygems.org"
|
|
2
|
+
|
|
3
|
+
source "http://ruby.taobao.org"
|
|
4
|
+
# Declare your gem's dependencies in miniapp_study.gemspec.
|
|
5
|
+
# Bundler will treat runtime dependencies like base dependencies, and
|
|
6
|
+
# development dependencies will be added by default to the :development group.
|
|
7
|
+
gemspec
|
|
8
|
+
|
|
9
|
+
# jquery-rails is used by the dummy application
|
|
10
|
+
gem "jquery-rails"
|
|
11
|
+
# Declare any dependencies that are still in development here instead of in
|
|
12
|
+
# your gemspec. These might include edge Rails or gems from your path or
|
|
13
|
+
# Git. Remember to move these dependencies to your gemspec before releasing
|
|
14
|
+
# your gem to rubygems.org.
|
|
15
|
+
|
|
16
|
+
# To use debugger
|
|
17
|
+
# gem 'debugger'
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
<%=app_path%>
|
|
2
|
+
=============
|
|
3
|
+
为党建系统开发的学习应用
|
|
4
|
+
|
|
5
|
+
安装步骤
|
|
6
|
+
---------
|
|
7
|
+
以下命令都在主工程(ewhine_NB)中执行
|
|
8
|
+
|
|
9
|
+
#### 1. 在Gemfile中添加 ####
|
|
10
|
+
|
|
11
|
+
gem '<%=app_path%>',:git=>"TODO"
|
|
12
|
+
|
|
13
|
+
#### 2. 安装插件 ####
|
|
14
|
+
rails g <%=app_path%>:install
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
#### 3. 执行脚本 ####
|
|
18
|
+
rake db:migrate
|
|
19
|
+
|
|
20
|
+
#### 4. 启动服务 ####
|
|
21
|
+
rails s
|
|
22
|
+
|
|
23
|
+
#### 安装成功####
|
|
24
|
+
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
#!/usr/bin/env rake
|
|
2
|
+
begin
|
|
3
|
+
require 'bundler/setup'
|
|
4
|
+
rescue LoadError
|
|
5
|
+
puts 'You must `gem install bundler` and `bundle install` to run rake tasks'
|
|
6
|
+
end
|
|
7
|
+
begin
|
|
8
|
+
require 'rdoc/task'
|
|
9
|
+
rescue LoadError
|
|
10
|
+
require 'rdoc/rdoc'
|
|
11
|
+
require 'rake/rdoctask'
|
|
12
|
+
RDoc::Task = Rake::RDocTask
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
RDoc::Task.new(:rdoc) do |rdoc|
|
|
16
|
+
rdoc.rdoc_dir = 'rdoc'
|
|
17
|
+
rdoc.title = '<%=package%>'
|
|
18
|
+
rdoc.options << '--line-numbers'
|
|
19
|
+
rdoc.rdoc_files.include('README.rdoc')
|
|
20
|
+
rdoc.rdoc_files.include('lib/**/*.rb')
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
APP_RAKEFILE = File.expand_path("../test/dummy/Rakefile", __FILE__)
|
|
24
|
+
load 'rails/tasks/engine.rake'
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
Bundler::GemHelper.install_tasks
|
|
29
|
+
|
|
30
|
+
require 'rake/testtask'
|
|
31
|
+
|
|
32
|
+
Rake::TestTask.new(:test) do |t|
|
|
33
|
+
t.libs << 'lib'
|
|
34
|
+
t.libs << 'test'
|
|
35
|
+
t.pattern = 'test/**/*_test.rb'
|
|
36
|
+
t.verbose = false
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
task :default => :test
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
<div>
|
|
2
|
+
<input autocomplete="off" class="miniapp-input title input-block input-bottom-dotted validate[required]"
|
|
3
|
+
name="<%=app_name%>" data-autoenable=".action-submit" placeholder="请输入内容"
|
|
4
|
+
type="text">
|
|
5
|
+
这是web的输入表单,位置在 app/templates/mini_apps/<%=app_name%>/new.js.dust
|
|
6
|
+
</div>
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
jQuery(function($) {
|
|
2
|
+
App.Views.MiniApps.<%=app_class%>New = MiniAppNew.extend({
|
|
3
|
+
className: "validationEngineContainer <%=app_name%>-input-wrap",
|
|
4
|
+
template: "mini_apps/<%=app_name%>/new",
|
|
5
|
+
events: {
|
|
6
|
+
},
|
|
7
|
+
afterRender: function() {},
|
|
8
|
+
validate: function() {
|
|
9
|
+
return true;
|
|
10
|
+
},
|
|
11
|
+
getProperties: function() {
|
|
12
|
+
return{
|
|
13
|
+
|
|
14
|
+
}
|
|
15
|
+
//return json data
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
});
|
|
19
|
+
})
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
jQuery(function($) {
|
|
2
|
+
App.Views.MiniApps.<%=app_class%>Show = MiniAppShow.extend({
|
|
3
|
+
template: "mini_apps/<%=app_name%>/show",
|
|
4
|
+
events: {
|
|
5
|
+
},
|
|
6
|
+
parse: function(model,context,parser) {
|
|
7
|
+
//在这里可以把服务器返回的properties进行进一步解析
|
|
8
|
+
return model;
|
|
9
|
+
},
|
|
10
|
+
initialize: function(options) {},
|
|
11
|
+
serialize: function() {
|
|
12
|
+
//这里传递给模板渲染的对象
|
|
13
|
+
var context = this.model.toJSON();
|
|
14
|
+
return context;
|
|
15
|
+
},
|
|
16
|
+
afterRender: function() {
|
|
17
|
+
//这是页面渲染以后调用的方法
|
|
18
|
+
|
|
19
|
+
}
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
})
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
// This is a manifest file that'll be compiled into application.js, which will include all the files
|
|
2
|
+
// listed below.
|
|
3
|
+
//
|
|
4
|
+
// Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts,
|
|
5
|
+
// or vendor/assets/javascripts of plugins, if any, can be referenced here using a relative path.
|
|
6
|
+
//
|
|
7
|
+
// It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
|
|
8
|
+
// the compiled file.
|
|
9
|
+
//
|
|
10
|
+
// WARNING: THE FIRST BLANK LINE MARKS THE END OF WHAT'S TO BE PROCESSED, ANY BLANK LINE SHOULD
|
|
11
|
+
// GO AFTER THE REQUIRES BELOW.
|
|
12
|
+
//
|
|
13
|
+
//= require_tree .
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
.icon-<%=app_name%>{
|
|
2
|
+
background: asset-url('miniapp_<%=app_name%>/<%=app_name%>.png') no-repeat;
|
|
3
|
+
background-position: 0px 0px;
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
a:hover,.active{
|
|
7
|
+
.icon-<%=app_name%>{
|
|
8
|
+
background: asset-url('miniapp_<%=app_name%>/<%=app_name%>_active.png') no-repeat;
|
|
9
|
+
background-position: 0px 0px;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* This is a manifest file that'll be compiled into application.css, which will include all the files
|
|
3
|
+
* listed below.
|
|
4
|
+
*
|
|
5
|
+
* Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets,
|
|
6
|
+
* or vendor/assets/stylesheets of plugins, if any, can be referenced here using a relative path.
|
|
7
|
+
*
|
|
8
|
+
* You're free to add application-wide styles to this file and they'll appear at the top of the
|
|
9
|
+
* compiled file, but it's generally better to create a new file per style scope.
|
|
10
|
+
*
|
|
11
|
+
*= require_self
|
|
12
|
+
*= require_tree .
|
|
13
|
+
*/
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
# Sample localization file for English. Add more files in this directory for other locales.
|
|
2
|
+
# See https://github.com/svenfuchs/rails-i18n/tree/master/rails%2Flocale for starting points.
|
|
3
|
+
|
|
4
|
+
en:
|
|
5
|
+
ft:
|
|
6
|
+
miniapp:
|
|
7
|
+
<%app_name%>:
|
|
8
|
+
filter: "<%app_name%>"
|
|
9
|
+
text: "post <%app_name%>"
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
# Sample localization file for English. Add more files in this directory for other locales.
|
|
2
|
+
# See https://github.com/svenfuchs/rails-i18n/tree/master/rails%2Flocale for starting points.
|
|
3
|
+
|
|
4
|
+
zh-CN:
|
|
5
|
+
ft:
|
|
6
|
+
miniapp:
|
|
7
|
+
<%app_name%>:
|
|
8
|
+
filter: "<%app_name%>"
|
|
9
|
+
text: "发布 <%app_name%>"
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
module <%=package%>
|
|
3
|
+
class Engine < ::Rails::Engine
|
|
4
|
+
isolate_namespace <%=package%>
|
|
5
|
+
|
|
6
|
+
initializer 'my_engine.interact_with_routes', :after=> :disable_dependency_loading do |app|
|
|
7
|
+
MiniApp.apps << {:title=>"发出考题",:create_url=>'/mini_apps/<%=app_name%>s/new',:icon=> ActionController::Base.helpers.asset_path('<%=app_path%>/<%=app_name%>_white.png')}
|
|
8
|
+
end
|
|
9
|
+
end
|
|
10
|
+
end
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
module <%=package%>
|
|
2
|
+
module Generators
|
|
3
|
+
class InstallGenerator < ::Rails::Generators::Base
|
|
4
|
+
source_root File.expand_path('../templates', __FILE__)
|
|
5
|
+
|
|
6
|
+
desc "Installs <%=package%>."
|
|
7
|
+
|
|
8
|
+
def install
|
|
9
|
+
route "mount <%=package%>::Engine, at: 'mini_apps'"
|
|
10
|
+
|
|
11
|
+
inject_into_file 'app/assets/javascripts/application.js', before: "//= require_self" do <<-'RUBY'
|
|
12
|
+
//= require <%=app_path%>/application
|
|
13
|
+
RUBY
|
|
14
|
+
end
|
|
15
|
+
inject_into_file 'app/assets/javascripts/mobile.js', before: "//= require_self" do <<-'RUBY'
|
|
16
|
+
//= require <%=app_path%>/application
|
|
17
|
+
RUBY
|
|
18
|
+
end
|
|
19
|
+
inject_into_file 'app/assets/stylesheets/application.css', before: "*/" do <<-'RUBY'
|
|
20
|
+
*= require <%=app_path%>/application
|
|
21
|
+
RUBY
|
|
22
|
+
end
|
|
23
|
+
inject_into_file 'app/assets/stylesheets/mobile.css', before: "*/" do <<-'RUBY'
|
|
24
|
+
*= require <%=app_path%>/application
|
|
25
|
+
RUBY
|
|
26
|
+
end
|
|
27
|
+
rake "<%=app_path%>:install:migrations"
|
|
28
|
+
|
|
29
|
+
readme "README"
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
data/lib/lathe/string.rb
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
class String
|
|
2
|
+
def camelize
|
|
3
|
+
dup.camelize!
|
|
4
|
+
end
|
|
5
|
+
def camelize!
|
|
6
|
+
self.replace(self.split("_").each {|s| s.capitalize! }.join(""))
|
|
7
|
+
end
|
|
8
|
+
def underscore
|
|
9
|
+
dup.underscore!
|
|
10
|
+
end
|
|
11
|
+
def underscore!
|
|
12
|
+
self.replace(self.scan(/[A-Z][a-z]*/).join("_").downcase)
|
|
13
|
+
end
|
|
14
|
+
end
|
data/lib/lathe.rb
ADDED
metadata
ADDED
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
|
2
|
+
name: lathe
|
|
3
|
+
version: !ruby/object:Gem::Version
|
|
4
|
+
version: 0.0.1
|
|
5
|
+
prerelease:
|
|
6
|
+
platform: ruby
|
|
7
|
+
authors:
|
|
8
|
+
- vulgarcoder
|
|
9
|
+
autorequire:
|
|
10
|
+
bindir: bin
|
|
11
|
+
cert_chain: []
|
|
12
|
+
date: 2013-09-05 00:00:00.000000000 Z
|
|
13
|
+
dependencies:
|
|
14
|
+
- !ruby/object:Gem::Dependency
|
|
15
|
+
name: thor
|
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
|
17
|
+
none: false
|
|
18
|
+
requirements:
|
|
19
|
+
- - ~>
|
|
20
|
+
- !ruby/object:Gem::Version
|
|
21
|
+
version: 0.14.6
|
|
22
|
+
type: :runtime
|
|
23
|
+
prerelease: false
|
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
25
|
+
none: false
|
|
26
|
+
requirements:
|
|
27
|
+
- - ~>
|
|
28
|
+
- !ruby/object:Gem::Version
|
|
29
|
+
version: 0.14.6
|
|
30
|
+
description: Generator for plugin developer.
|
|
31
|
+
email:
|
|
32
|
+
- vulgarcoder@gmail.com
|
|
33
|
+
executables:
|
|
34
|
+
- lathe
|
|
35
|
+
extensions: []
|
|
36
|
+
extra_rdoc_files: []
|
|
37
|
+
files:
|
|
38
|
+
- .gitignore
|
|
39
|
+
- Gemfile
|
|
40
|
+
- LICENSE
|
|
41
|
+
- README.md
|
|
42
|
+
- Rakefile
|
|
43
|
+
- bin/lathe
|
|
44
|
+
- lathe.gemspec
|
|
45
|
+
- lib/lathe.rb
|
|
46
|
+
- lib/lathe/cli.rb
|
|
47
|
+
- lib/lathe/generators/mini_app/%app_path%.gemspec.tt
|
|
48
|
+
- lib/lathe/generators/mini_app/Gemfile
|
|
49
|
+
- lib/lathe/generators/mini_app/README.md.tt
|
|
50
|
+
- lib/lathe/generators/mini_app/Rakefile.tt
|
|
51
|
+
- lib/lathe/generators/mini_app/app/assets/images/%app_path%/%app_name%.png
|
|
52
|
+
- lib/lathe/generators/mini_app/app/assets/images/%app_path%/%app_name%_active.png
|
|
53
|
+
- lib/lathe/generators/mini_app/app/assets/images/%app_path%/%app_name%_white.png
|
|
54
|
+
- lib/lathe/generators/mini_app/app/assets/javascripts/%app_path%/app/templates/mini_apps/%app_name%/new.js.dust.tt
|
|
55
|
+
- lib/lathe/generators/mini_app/app/assets/javascripts/%app_path%/app/templates/mini_apps/%app_name%/show.js.dust.tt
|
|
56
|
+
- lib/lathe/generators/mini_app/app/assets/javascripts/%app_path%/app/templates/mobile/mini_apps/%app_name%/new.js.dust.tt
|
|
57
|
+
- lib/lathe/generators/mini_app/app/assets/javascripts/%app_path%/app/templates/mobile/mini_apps/%app_name%/show.js.dust.tt
|
|
58
|
+
- lib/lathe/generators/mini_app/app/assets/javascripts/%app_path%/app/views/mini_apps/%app_name%/new.js.tt
|
|
59
|
+
- lib/lathe/generators/mini_app/app/assets/javascripts/%app_path%/app/views/mini_apps/%app_name%/show.js.tt
|
|
60
|
+
- lib/lathe/generators/mini_app/app/assets/javascripts/%app_path%/application.js
|
|
61
|
+
- lib/lathe/generators/mini_app/app/assets/stylesheets/%app_path%/%app_name%.less.tt
|
|
62
|
+
- lib/lathe/generators/mini_app/app/assets/stylesheets/%app_path%/application.css
|
|
63
|
+
- lib/lathe/generators/mini_app/app/controllers/%app_path%/%app_name%_controller.rb.tt
|
|
64
|
+
- lib/lathe/generators/mini_app/app/helpers/%app_path%/application_helper.rb
|
|
65
|
+
- lib/lathe/generators/mini_app/app/mailers/.empty_directory
|
|
66
|
+
- lib/lathe/generators/mini_app/app/models/%app_path%/%app_name%.rb.tt
|
|
67
|
+
- lib/lathe/generators/mini_app/app/views/layouts/%app_path%/.empty_directory
|
|
68
|
+
- lib/lathe/generators/mini_app/config/.empty_directory
|
|
69
|
+
- lib/lathe/generators/mini_app/config/locales/fontend.en.yml.tt
|
|
70
|
+
- lib/lathe/generators/mini_app/config/locales/fontend.zh-CN.yml.tt
|
|
71
|
+
- lib/lathe/generators/mini_app/config/routes.rb.tt
|
|
72
|
+
- lib/lathe/generators/mini_app/db/migrate/%now%_add_type_to_%app_path%.rb.tt
|
|
73
|
+
- lib/lathe/generators/mini_app/lib/%app_path%.rb.tt
|
|
74
|
+
- lib/lathe/generators/mini_app/lib/%app_path%/engine.rb.tt
|
|
75
|
+
- lib/lathe/generators/mini_app/lib/%app_path%/version.rb.tt
|
|
76
|
+
- lib/lathe/generators/mini_app/lib/generators/%app_path%/install_generator.rb.tt
|
|
77
|
+
- lib/lathe/generators/mini_app/lib/generators/%app_path%/templates/README
|
|
78
|
+
- lib/lathe/generators/mini_app/lib/tasks/%app_path%_tasks.rake.tt
|
|
79
|
+
- lib/lathe/string.rb
|
|
80
|
+
- lib/lathe/version.rb
|
|
81
|
+
homepage: http://minxing365.com
|
|
82
|
+
licenses: []
|
|
83
|
+
post_install_message:
|
|
84
|
+
rdoc_options: []
|
|
85
|
+
require_paths:
|
|
86
|
+
- lib
|
|
87
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
|
88
|
+
none: false
|
|
89
|
+
requirements:
|
|
90
|
+
- - ! '>='
|
|
91
|
+
- !ruby/object:Gem::Version
|
|
92
|
+
version: '0'
|
|
93
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
94
|
+
none: false
|
|
95
|
+
requirements:
|
|
96
|
+
- - ! '>='
|
|
97
|
+
- !ruby/object:Gem::Version
|
|
98
|
+
version: '0'
|
|
99
|
+
requirements: []
|
|
100
|
+
rubyforge_project:
|
|
101
|
+
rubygems_version: 1.8.23
|
|
102
|
+
signing_key:
|
|
103
|
+
specification_version: 3
|
|
104
|
+
summary: For minxing365.com
|
|
105
|
+
test_files: []
|