lotusrb 0.3.2 → 0.4.0
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +20 -0
- data/FEATURES.md +17 -0
- data/README.md +16 -355
- data/lib/lotus.rb +0 -1
- data/lib/lotus/action/csrf_protection.rb +167 -0
- data/lib/lotus/application.rb +3 -1
- data/lib/lotus/cli.rb +14 -13
- data/lib/lotus/commands/console.rb +1 -1
- data/lib/lotus/commands/db.rb +102 -0
- data/lib/lotus/commands/db/abstract.rb +15 -0
- data/lib/lotus/commands/db/apply.rb +14 -0
- data/lib/lotus/commands/db/console.rb +1 -5
- data/lib/lotus/commands/db/create.rb +14 -0
- data/lib/lotus/commands/db/drop.rb +14 -0
- data/lib/lotus/commands/db/migrate.rb +19 -0
- data/lib/lotus/commands/db/prepare.rb +14 -0
- data/lib/lotus/commands/db/version.rb +14 -0
- data/lib/lotus/commands/generate.rb +20 -20
- data/lib/lotus/commands/new.rb +1 -0
- data/lib/lotus/commands/routes.rb +1 -2
- data/lib/lotus/configuration.rb +29 -0
- data/lib/lotus/container.rb +19 -3
- data/lib/lotus/environment.rb +62 -9
- data/lib/lotus/frameworks.rb +1 -0
- data/lib/lotus/generators/action.rb +46 -10
- data/lib/lotus/generators/action/action_spec.minitest.tt +1 -1
- data/lib/lotus/generators/action/action_spec.rspec.tt +1 -1
- data/lib/lotus/generators/action/view_spec.minitest.tt +2 -1
- data/lib/lotus/generators/action/view_spec.rspec.tt +2 -1
- data/lib/lotus/generators/app.rb +39 -0
- data/lib/lotus/generators/app/.gitkeep +1 -0
- data/lib/lotus/generators/application/app.rb +184 -0
- data/lib/lotus/generators/application/app/.env.development.tt +3 -0
- data/lib/lotus/generators/application/app/.env.test.tt +3 -0
- data/lib/lotus/generators/application/{container/config → app}/.env.tt +0 -0
- data/lib/lotus/generators/application/app/.gitkeep +1 -0
- data/lib/lotus/generators/application/app/Gemfile.tt +35 -0
- data/lib/lotus/generators/application/app/Rakefile.minitest.tt +10 -0
- data/lib/lotus/generators/application/app/Rakefile.rspec.tt +5 -0
- data/lib/lotus/generators/application/app/apps/.gitkeep.tt +1 -0
- data/lib/lotus/generators/application/app/capybara.rb.rspec.tt +8 -0
- data/lib/lotus/generators/application/app/config.ru.tt +3 -0
- data/lib/lotus/generators/application/app/config/application.rb.tt +227 -0
- data/lib/lotus/generators/application/app/config/environment.rb.tt +5 -0
- data/lib/lotus/generators/application/app/config/routes.rb.tt +2 -0
- data/lib/lotus/generators/application/app/db/.gitkeep +1 -0
- data/lib/lotus/generators/application/app/features_helper.rb.minitest.tt +11 -0
- data/lib/lotus/generators/application/app/features_helper.rb.rspec.tt +12 -0
- data/lib/lotus/generators/application/app/gitignore.tt +2 -0
- data/lib/lotus/generators/application/app/lib/app_name.rb.tt +47 -0
- data/lib/lotus/generators/application/app/lib/chirp/entities/.gitkeep +1 -0
- data/lib/lotus/generators/application/app/lib/chirp/repositories/.gitkeep +1 -0
- data/lib/lotus/generators/application/app/lib/config/mapping.rb.tt +7 -0
- data/lib/lotus/generators/application/app/lotusrc.tt +3 -0
- data/lib/lotus/generators/application/app/rspec.rspec.tt +2 -0
- data/lib/lotus/generators/application/app/schema.sql.tt +0 -0
- data/lib/lotus/generators/application/app/spec_helper.rb.minitest.tt +7 -0
- data/lib/lotus/generators/application/app/spec_helper.rb.rspec.tt +100 -0
- data/lib/lotus/generators/application/app/templates/application.html.erb.tt +9 -0
- data/lib/lotus/generators/application/app/views/application_layout.rb.tt +7 -0
- data/lib/lotus/generators/application/container.rb +37 -13
- data/lib/lotus/generators/application/container/{config/.env.development.tt → .env.development.tt} +0 -0
- data/lib/lotus/generators/application/container/{config/.env.test.tt → .env.test.tt} +0 -0
- data/lib/lotus/generators/application/container/.env.tt +1 -0
- data/lib/lotus/generators/application/container/lib/app_name.rb.tt +9 -0
- data/lib/lotus/generators/application/container/schema.sql.tt +0 -0
- data/lib/lotus/generators/migration.rb +58 -0
- data/lib/lotus/generators/migration/migration.rb.tt +4 -0
- data/lib/lotus/generators/model.rb +10 -7
- data/lib/lotus/generators/slice.rb +4 -12
- data/lib/lotus/generators/slice/application.rb.tt +3 -19
- data/lib/lotus/generators/slice/config/routes.rb.tt +1 -7
- data/lib/lotus/loader.rb +15 -1
- data/lib/lotus/lotusrc.rb +8 -3
- data/lib/lotus/templates/{welcome.html → welcome.html.erb} +4 -3
- data/lib/lotus/version.rb +1 -1
- data/lib/lotus/welcome.rb +20 -1
- data/lotusrb.gemspec +5 -5
- metadata +67 -18
- data/lib/lotus/generators/slice/action.rb.tt +0 -8
- data/lib/lotus/generators/slice/config/mapping.rb.tt +0 -13
- data/lib/lotus/generators/slice/templates/template.html.erb.tt +0 -2
- data/lib/lotus/generators/slice/view.rb.tt +0 -5
- data/lib/lotus/logger.rb +0 -141
@@ -1,13 +0,0 @@
|
|
1
|
-
# Configure your database mapping here.
|
2
|
-
#
|
3
|
-
# Intended for specifying specific slice mappings.
|
4
|
-
#
|
5
|
-
# See: http://www.rubydoc.info/gems/lotus-model/#Usage
|
6
|
-
#
|
7
|
-
# collection :users do
|
8
|
-
# entity User
|
9
|
-
# repository UserRepository
|
10
|
-
#
|
11
|
-
# attribute :id, Integer
|
12
|
-
# attribute :name, String
|
13
|
-
# end
|
data/lib/lotus/logger.rb
DELETED
@@ -1,141 +0,0 @@
|
|
1
|
-
require 'logger'
|
2
|
-
require 'lotus/utils/string'
|
3
|
-
|
4
|
-
module Lotus
|
5
|
-
# Lotus logger
|
6
|
-
#
|
7
|
-
# Implement with the same interface of Ruby std lib `Logger`.
|
8
|
-
# It uses `STDOUT` as output device.
|
9
|
-
#
|
10
|
-
#
|
11
|
-
#
|
12
|
-
# When a Lotus application is initialized, it creates a logger for that specific application.
|
13
|
-
# For instance for a `Bookshelf::Application` a `Bookshelf::Logger` will be available.
|
14
|
-
#
|
15
|
-
# This is useful for auto-tagging the output. Eg (`[Booshelf]`).
|
16
|
-
#
|
17
|
-
# When used stand alone (eg. `Lotus::Logger.info`), it tags lines with `[Shared]`.
|
18
|
-
#
|
19
|
-
#
|
20
|
-
#
|
21
|
-
# The available severity levels are the same of `Logger`:
|
22
|
-
#
|
23
|
-
# * debug
|
24
|
-
# * error
|
25
|
-
# * fatal
|
26
|
-
# * info
|
27
|
-
# * unknown
|
28
|
-
# * warn
|
29
|
-
#
|
30
|
-
# Those levels are available both as class and instance methods.
|
31
|
-
#
|
32
|
-
# @since 0.2.1
|
33
|
-
#
|
34
|
-
# @see http://www.ruby-doc.org/stdlib/libdoc/logger/rdoc/Logger.html
|
35
|
-
# @see http://www.ruby-doc.org/stdlib/libdoc/logger/rdoc/Logger/Severity.html
|
36
|
-
#
|
37
|
-
# @example Basic usage
|
38
|
-
# require 'lotus'
|
39
|
-
#
|
40
|
-
# module Bookshelf
|
41
|
-
# class Application < Lotus::Application
|
42
|
-
# end
|
43
|
-
# end
|
44
|
-
#
|
45
|
-
# # Initialize the application with the following code:
|
46
|
-
# Bookshelf::Application.load!
|
47
|
-
# # or
|
48
|
-
# Bookshelf::Application.new
|
49
|
-
#
|
50
|
-
# Bookshelf::Logger.info('Hello')
|
51
|
-
# # => I, [2015-01-10T21:55:12.727259 #80487] INFO -- [Bookshelf] : Hello
|
52
|
-
#
|
53
|
-
# Bookshelf::Logger.new.info('Hello')
|
54
|
-
# # => I, [2015-01-10T21:55:12.727259 #80487] INFO -- [Bookshelf] : Hello
|
55
|
-
#
|
56
|
-
# @example Standalone usage
|
57
|
-
# require 'lotus'
|
58
|
-
#
|
59
|
-
# Lotus::Logger.info('Hello')
|
60
|
-
# # => I, [2015-01-10T21:55:12.727259 #80487] INFO -- [Lotus] : Hello
|
61
|
-
#
|
62
|
-
# Lotus::Logger.new.info('Hello')
|
63
|
-
# # => I, [2015-01-10T21:55:12.727259 #80487] INFO -- [Lotus] : Hello
|
64
|
-
#
|
65
|
-
# @example Custom tagging
|
66
|
-
# require 'lotus'
|
67
|
-
#
|
68
|
-
# Lotus::Logger.new('FOO').info('Hello')
|
69
|
-
# # => I, [2015-01-10T21:55:12.727259 #80487] INFO -- [FOO] : Hello
|
70
|
-
class Logger < ::Logger
|
71
|
-
# Lotus::Logger default formatter
|
72
|
-
#
|
73
|
-
# @since 0.2.1
|
74
|
-
# @api private
|
75
|
-
#
|
76
|
-
# @see http://www.ruby-doc.org/stdlib/libdoc/logger/rdoc/Logger/Formatter.html
|
77
|
-
class Formatter < ::Logger::Formatter
|
78
|
-
# @since 0.2.1
|
79
|
-
# @api private
|
80
|
-
attr_writer :application_name
|
81
|
-
|
82
|
-
# @since 0.2.1
|
83
|
-
# @api private
|
84
|
-
#
|
85
|
-
# @see http://www.ruby-doc.org/stdlib/libdoc/logger/rdoc/Logger/Formatter.html#method-i-call
|
86
|
-
def call(severity, time, progname, msg)
|
87
|
-
progname = "[#{@application_name}] #{progname}"
|
88
|
-
super(severity, time.utc, progname, msg)
|
89
|
-
end
|
90
|
-
end
|
91
|
-
|
92
|
-
# Default application name.
|
93
|
-
# This is used as a fallback for tagging purposes.
|
94
|
-
#
|
95
|
-
# @since 0.2.1
|
96
|
-
# @api private
|
97
|
-
DEFAULT_APPLICATION_NAME = 'Lotus'.freeze
|
98
|
-
|
99
|
-
# @since 0.2.1
|
100
|
-
# @api private
|
101
|
-
attr_writer :application_name
|
102
|
-
|
103
|
-
# Initialize a logger
|
104
|
-
#
|
105
|
-
# @param application_name [String] an optional application name used for
|
106
|
-
# tagging purposes
|
107
|
-
#
|
108
|
-
# @since 0.2.1
|
109
|
-
def initialize(application_name = nil)
|
110
|
-
super(STDOUT)
|
111
|
-
|
112
|
-
@application_name = application_name
|
113
|
-
@formatter = Lotus::Logger::Formatter.new.tap { |f| f.application_name = self.application_name }
|
114
|
-
end
|
115
|
-
|
116
|
-
# Returns the current application name, this is used for tagging purposes
|
117
|
-
#
|
118
|
-
# @return [String] the application name
|
119
|
-
#
|
120
|
-
# @since 0.2.1
|
121
|
-
def application_name
|
122
|
-
@application_name || _application_name_from_namespace || _default_application_name
|
123
|
-
end
|
124
|
-
|
125
|
-
private
|
126
|
-
# @since 0.2.1
|
127
|
-
# @api private
|
128
|
-
def _application_name_from_namespace
|
129
|
-
class_name = self.class.name
|
130
|
-
namespace = Utils::String.new(class_name).namespace
|
131
|
-
|
132
|
-
class_name != namespace and return namespace
|
133
|
-
end
|
134
|
-
|
135
|
-
# @since 0.2.1
|
136
|
-
# @api private
|
137
|
-
def _default_application_name
|
138
|
-
DEFAULT_APPLICATION_NAME
|
139
|
-
end
|
140
|
-
end
|
141
|
-
end
|