rango 0.1.1.2.10 → 0.1.1.2.11
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/CHANGELOG +7 -0
- data/README.textile +2 -0
- data/bin/rango +5 -2
- data/lib/rango.rb +47 -78
- data/lib/rango/core_ext.rb +21 -0
- data/lib/rango/gv/router.rb +42 -0
- data/lib/rango/gv/scaffolding.rb +53 -0
- data/lib/rango/gv/static.rb +4 -5
- data/lib/rango/interactive.rb +18 -0
- data/lib/rango/logger.rb +14 -0
- data/lib/rango/mini.rb +0 -6
- data/lib/rango/mini_render.rb +16 -0
- data/lib/rango/mixins/logger.rb +19 -0
- data/lib/rango/mixins/message.rb +3 -3
- data/lib/rango/mixins/render.rb +5 -5
- data/lib/rango/mixins/rendering.rb +13 -13
- data/lib/rango/orm/README.textile +24 -0
- data/lib/rango/orm/tasks/datamapper.rake +40 -14
- data/lib/rango/orm/tasks/sequel.rake +21 -1
- data/lib/rango/path.rb +13 -0
- data/lib/rango/rack/request.rb +8 -4
- data/lib/rango/templates/helpers.rb +84 -86
- data/lib/rango/templates/template.rb +50 -53
- data/lib/rango/version.rb +1 -1
- data/spec/rango/controller_spec.rb +1 -0
- data/spec/rango/mixins/message_spec.rb +4 -4
- data/spec/rango/mixins/render_spec.rb +4 -4
- data/spec/rango/project_spec.rb +2 -0
- data/spec/rango/templates/template_spec.rb +18 -18
- data/stubs/{project → stack}/content/Gemfile.rbt +0 -0
- data/stubs/{project → stack}/content/Rakefile.rbt +0 -0
- data/stubs/{project → stack}/content/TODO.txt +0 -0
- data/stubs/{project → stack}/content/config.ru.rbt +0 -0
- data/stubs/{project → stack}/content/init.rb.rbt +4 -7
- data/stubs/{app → stack}/content/models.rb.rbt +0 -0
- data/stubs/stack/content/settings_local.rb.rbt +20 -0
- data/stubs/{project → stack}/content/spec/%name%/init_spec.rb.rbt +0 -0
- data/stubs/{project → stack}/content/spec/%name%/models_spec.rb.rbt +0 -0
- data/stubs/{project → stack}/content/spec/%name%/views_spec.rb.rbt +0 -0
- data/stubs/{project → stack}/content/spec/spec.opts +0 -0
- data/stubs/{project → stack}/content/spec/spec_helper.rb +0 -0
- data/stubs/{project → stack}/content/templates/base.html.haml.rbt +0 -0
- data/stubs/stack/content/templates/errors/404.html.haml +1 -0
- data/stubs/stack/content/templates/errors/500.html.haml +1 -0
- data/stubs/{project → stack}/content/templates/index.html.haml +0 -0
- data/stubs/{app → stack}/content/views.rb.rbt +13 -0
- data/stubs/{app → stack}/metadata.yml +0 -0
- data/stubs/{project → stack}/postprocess.rb +0 -0
- data/stubs/{project → stack}/setup.rb +0 -0
- metadata +82 -43
- data/lib/rango/orm/adapter.rb +0 -46
- data/lib/rango/orm/adapters/datamapper.rb +0 -26
- data/lib/rango/orm/adapters/sequel.rb +0 -18
- data/lib/rango/orm/orm.txt +0 -11
- data/lib/rango/orm/support/datamapper/support.rb +0 -17
- data/stubs/app/content/init.rb.rbt +0 -10
- data/stubs/app/setup.rb +0 -13
- data/stubs/bigapp/content/init.rb +0 -0
- data/stubs/bigapp/content/models/%model%.rb.rbt +0 -6
- data/stubs/bigapp/content/views/%controller%.rb.rbt +0 -10
- data/stubs/bigapp/content/views/application.rb +0 -0
- data/stubs/bigapp/metadata.yml +0 -3
- data/stubs/bigapp/setup.rb +0 -12
- data/stubs/project/content/settings.rb +0 -13
- data/stubs/project/content/settings_local.rb.rbt +0 -6
- data/stubs/project/metadata.yml +0 -3
data/lib/rango/orm/adapter.rb
DELETED
@@ -1,46 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
|
3
|
-
module Rango
|
4
|
-
module ORM
|
5
|
-
class Adapter
|
6
|
-
def initialize
|
7
|
-
Project.orm = self
|
8
|
-
end
|
9
|
-
|
10
|
-
# @return [String] "datamapper"
|
11
|
-
def name
|
12
|
-
self.class.name.split("::").last
|
13
|
-
end
|
14
|
-
|
15
|
-
def load
|
16
|
-
raise NotImplementedError, "You have to implement Adapter#load method!"
|
17
|
-
end
|
18
|
-
|
19
|
-
def connect
|
20
|
-
raise NotImplementedError, "You have to implement Adapter#connect method!"
|
21
|
-
end
|
22
|
-
|
23
|
-
# DB[:table]
|
24
|
-
attr_reader :connection
|
25
|
-
|
26
|
-
def form_for(*)
|
27
|
-
raise NotImplementedError
|
28
|
-
end
|
29
|
-
|
30
|
-
def finish
|
31
|
-
Rango.logger.info("Database connection established with #{Project.orm} and database #{path}")
|
32
|
-
end
|
33
|
-
|
34
|
-
protected
|
35
|
-
def try_connect(&block)
|
36
|
-
adapter = Project.settings.database_adapter
|
37
|
-
database = Project.settings.database_name
|
38
|
-
block.call(adapter, database)
|
39
|
-
rescue Exception => exception
|
40
|
-
Rango.logger.exception(exception)
|
41
|
-
Rango.logger.fatal("Database connection can't be established, exiting")
|
42
|
-
exit 1
|
43
|
-
end
|
44
|
-
end
|
45
|
-
end
|
46
|
-
end
|
@@ -1,26 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
|
3
|
-
module Rango
|
4
|
-
module ORM
|
5
|
-
class Datamapper
|
6
|
-
def self.models
|
7
|
-
klasses = Array.new
|
8
|
-
ObjectSpace.each_object(Class) do |klass|
|
9
|
-
klasses.push(klass) if klass.included_modules.include?(DataMapper::Resource)
|
10
|
-
end
|
11
|
-
klasses
|
12
|
-
end
|
13
|
-
|
14
|
-
def load
|
15
|
-
Rango.dependency "dm-core", gem: true
|
16
|
-
require_relative "support"
|
17
|
-
end
|
18
|
-
|
19
|
-
def connect
|
20
|
-
try_connect do |adapter, database|
|
21
|
-
DataMapper.setup(:default, "#{adapter}://#{database}")
|
22
|
-
end
|
23
|
-
end
|
24
|
-
end
|
25
|
-
end
|
26
|
-
end
|
@@ -1,18 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
|
3
|
-
module Rango
|
4
|
-
module ORM
|
5
|
-
class Sequel
|
6
|
-
def load
|
7
|
-
Rango.dependency "sequel", gem: true
|
8
|
-
require_relative "support"
|
9
|
-
end
|
10
|
-
|
11
|
-
def connect
|
12
|
-
try_connect do |adapter, database|
|
13
|
-
Sequel.connect("#{adapter}://#{database}")
|
14
|
-
end
|
15
|
-
end
|
16
|
-
end
|
17
|
-
end
|
18
|
-
end
|
data/lib/rango/orm/orm.txt
DELETED
@@ -1,11 +0,0 @@
|
|
1
|
-
=== Core Support ===
|
2
|
-
- tasks for migrations, creating db etc
|
3
|
-
- Project.orm (adapter object) so plugins knows which ORM is in use and can use it's methods
|
4
|
-
? environments support ... settings_local.rb
|
5
|
-
|
6
|
-
=== Extended Support ===
|
7
|
-
? custom fields (slugfield)
|
8
|
-
? "action orm" layer for form_for etc
|
9
|
-
- Rango.orm.form_for ... well, maybe better will be Rango.orm.errors etc (see ActionORM)
|
10
|
-
- or support just ModelForms
|
11
|
-
- or both ones
|
@@ -1,17 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
|
3
|
-
# FIXME: this code is already in another file
|
4
|
-
# FIXME: DataMapper vs. Datamapper
|
5
|
-
module Rango
|
6
|
-
class ORM
|
7
|
-
class DataMapper
|
8
|
-
class << self
|
9
|
-
def models
|
10
|
-
ObjectSpace.classes.map do |klass|
|
11
|
-
klass.included(DataMapper::Resource)
|
12
|
-
end
|
13
|
-
end
|
14
|
-
end
|
15
|
-
end
|
16
|
-
end
|
17
|
-
end
|
data/stubs/app/setup.rb
DELETED
@@ -1,13 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
|
3
|
-
# This hook will be executed in context of current generator object before templater start to generate new files.
|
4
|
-
# You can update context hash and register hooks. Don't forget to use merge! instead of merge, because you are
|
5
|
-
# manipulating with one object, rather than returning new one.
|
6
|
-
|
7
|
-
# rango create app blog --models=post,tag --controllers=posts,tags --orm=sequel
|
8
|
-
hook do |generator, context|
|
9
|
-
context[:orm] = "datamapper" unless context.has_key?(:orm)
|
10
|
-
models = [context[:models]].compact.flatten # the flatten thing: if you have --models=post, it would be just a string
|
11
|
-
controllers = [context[:controllers]].compact.flatten
|
12
|
-
context.merge!(models: models, controllers: controllers)
|
13
|
-
end
|
File without changes
|
File without changes
|
data/stubs/bigapp/metadata.yml
DELETED
data/stubs/bigapp/setup.rb
DELETED
@@ -1,12 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
|
3
|
-
# This hook will be executed in context of current generator object before templater start to generate new files.
|
4
|
-
# You can update context hash and register hooks. Don't forget to use merge! instead of merge, because you are
|
5
|
-
# manipulating with one object, rather than returning new one.
|
6
|
-
|
7
|
-
# rango create app blog --models=post,tag --controllers=posts,tags
|
8
|
-
hook do |generator, context|
|
9
|
-
models = context[:models] || Array.new
|
10
|
-
controllers = context[:controllers] || Array.new
|
11
|
-
context.merge!(models: models, controllers: controllers)
|
12
|
-
end
|
data/stubs/project/metadata.yml
DELETED