fedux_org-stdlib 0.0.2 → 0.0.3
Sign up to get free protection for your applications and to get access to all the features.
- data/.rspec +2 -0
- data/.simplecov +8 -0
- data/.travis.yml +6 -0
- data/.yardopts +6 -0
- data/Gemfile +1 -0
- data/Rakefile +16 -6
- data/fedux_org-stdlib.gemspec +1 -0
- data/lib/fedux_org/stdlib/logging/logger.rb +2 -0
- data/lib/fedux_org/stdlib/{logger.rb → logging.rb} +0 -0
- data/lib/fedux_org/stdlib/models/base_model.rb +5 -6
- data/lib/fedux_org/stdlib/models/class_based_model.rb +4 -1
- data/lib/fedux_org/stdlib/models/exceptions.rb +35 -29
- data/lib/fedux_org/stdlib/models/filesystem_based_model.rb +2 -0
- data/lib/fedux_org/stdlib/models.rb +0 -1
- data/lib/fedux_org/stdlib/version.rb +3 -3
- data/script/console +8 -0
- data/script/terminal +12 -0
- data/spec/examples/models/class_based/forbidden_keyword.rb +8 -0
- data/spec/examples/models/class_based/invalid_1.rb +6 -0
- data/spec/examples/models/class_based/invalid_2.rb +7 -0
- data/spec/examples/models/class_based/valid_1.rb +8 -0
- data/spec/models/base_model_spec.rb +48 -0
- data/spec/models/class_based_model_spec.rb +185 -0
- data/spec/models/filesystem_based_model_spec.rb +105 -0
- data/spec/spec_helper.rb +3 -2
- metadata +39 -3
data/.rspec
ADDED
data/.simplecov
ADDED
data/.travis.yml
ADDED
data/.yardopts
ADDED
data/Gemfile
CHANGED
data/Rakefile
CHANGED
@@ -8,12 +8,14 @@ unless ENV['TRAVIS_CI'] == 'true'
|
|
8
8
|
require 'yard'
|
9
9
|
require 'rubygems/package_task'
|
10
10
|
require 'active_support/core_ext/string/strip'
|
11
|
+
require 'erubis'
|
11
12
|
end
|
12
13
|
|
13
14
|
YARD::Rake::YardocTask.new() do |y|
|
14
15
|
# y.options << '--verbose'
|
15
16
|
end
|
16
17
|
|
18
|
+
|
17
19
|
desc 'start tmux'
|
18
20
|
task :terminal do
|
19
21
|
sh "script/terminal"
|
@@ -30,13 +32,21 @@ namespace :version do
|
|
30
32
|
|
31
33
|
new_version = ENV['VERSION'] || ENV['version']
|
32
34
|
|
33
|
-
|
34
|
-
|
35
|
+
raw_module_names = File.open(version_file, "r").readlines.grep(/module/)
|
36
|
+
module_names = raw_module_names.collect { |n| n.chomp.match(/module\s+(\S+)/) {$1} }
|
37
|
+
|
38
|
+
template = <<-EOF
|
39
|
+
#main <%= @modules.first %>
|
40
|
+
<% @modules.each do |m| %>
|
41
|
+
module <%= m %>
|
42
|
+
<% end %>
|
43
|
+
VERSION = '<%= @version %>'
|
44
|
+
<% @modules.size.times do |m| %>
|
45
|
+
end
|
46
|
+
<% end %>
|
47
|
+
EOF
|
35
48
|
|
36
|
-
version_string =
|
37
|
-
module #{module_name}
|
38
|
-
VERSION = '#{new_version}'
|
39
|
-
end}
|
49
|
+
version_string = Erubis::Eruby.new(template).evaluate(modules: module_names, version: new_version)
|
40
50
|
|
41
51
|
File.open(version_file, "w") do |f|
|
42
52
|
f.write version_string.strip_heredoc
|
data/fedux_org-stdlib.gemspec
CHANGED
File without changes
|
@@ -1,3 +1,6 @@
|
|
1
|
+
require 'fedux_org/stdlib/logging'
|
2
|
+
require 'fedux_org/stdlib/models/exceptions'
|
3
|
+
|
1
4
|
module FeduxOrg
|
2
5
|
module Stdlib
|
3
6
|
module Models
|
@@ -57,13 +60,9 @@ module FeduxOrg
|
|
57
60
|
end
|
58
61
|
end
|
59
62
|
|
60
|
-
def find( val )
|
61
|
-
@instances.find { |i| i.name == val.to_s.to_sym }
|
62
|
-
end
|
63
|
-
|
64
63
|
def delete( val )
|
65
|
-
element = find( val.to_s.to_sym )
|
66
|
-
raise Exceptions::InstanceNotFound unless element
|
64
|
+
element = self.find( val.to_s.to_sym )
|
65
|
+
raise FeduxOrg::Stdlib::Exceptions::InstanceNotFound unless element
|
67
66
|
@instances.delete element
|
68
67
|
|
69
68
|
element
|
@@ -1,3 +1,6 @@
|
|
1
|
+
require 'active_support/core_ext/string/inflections'
|
2
|
+
require 'fedux_org/stdlib/models/filesystem_based_model'
|
3
|
+
|
1
4
|
module FeduxOrg
|
2
5
|
module Stdlib
|
3
6
|
module Models
|
@@ -15,7 +18,7 @@ module FeduxOrg
|
|
15
18
|
end
|
16
19
|
|
17
20
|
def exception_for_model
|
18
|
-
"#{library_name}::Exceptions::Invalid#{model_name
|
21
|
+
"#{library_name}::Exceptions::Invalid#{model_name}".constantize
|
19
22
|
rescue
|
20
23
|
raise FeduxOrg::Stdlib::Models::Exceptions::ExceptionNeedsToBeImplemented, "Exception \"#{library_name}::Exceptions::Invalid#{model_name}\" does not exist."
|
21
24
|
end
|
@@ -1,32 +1,38 @@
|
|
1
|
-
module
|
2
|
-
module
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
#raised if one tries to use a keyword whose use
|
9
|
-
#is restricted
|
10
|
-
class UnauthorizedUseOfKeyword < InternalError; end
|
11
|
-
|
12
|
-
#raised if one uses invalid search criteria
|
13
|
-
class InvalidSearchCriteria < InternalError; end
|
14
|
-
|
15
|
-
#raised if the code which defines an import filter
|
16
|
-
#is malformed
|
17
|
-
class MethodNeedsToBeImplemented < InternalError; end
|
18
|
-
|
19
|
-
#raised if one tries to use an unimplemented exception
|
20
|
-
class ExceptionNeedsToBeImplemented < InternalError; end
|
21
|
-
|
22
|
-
#raised if an file system error occured
|
23
|
-
class FilesystemError < Exception ; end
|
24
|
-
|
25
|
-
#raise if a directory does not exist in filesystem
|
26
|
-
class DirectoryDoesNotExist < FilesystemError; end
|
27
|
-
|
28
|
-
#raise if a file does not exist in filesystem
|
29
|
-
class FileDoesNotExist < FilesystemError; end
|
1
|
+
module FeduxOrg
|
2
|
+
module Stdlib
|
3
|
+
module Models
|
4
|
+
module Exceptions
|
5
|
+
#internal error
|
6
|
+
class InternalError < Exception; end
|
30
7
|
|
8
|
+
#raised if one tries to delete an instance which
|
9
|
+
#does not exist
|
10
|
+
class InstanceNotFound < InternalError; end
|
11
|
+
|
12
|
+
#raised if one tries to use a keyword whose use
|
13
|
+
#is restricted
|
14
|
+
class UnauthorizedUseOfKeyword < InternalError; end
|
15
|
+
|
16
|
+
#raised if one uses invalid search criteria
|
17
|
+
class InvalidSearchCriteria < InternalError; end
|
18
|
+
|
19
|
+
#raised if the code which defines an import filter
|
20
|
+
#is malformed
|
21
|
+
class MethodNeedsToBeImplemented < InternalError; end
|
22
|
+
|
23
|
+
#raised if one tries to use an unimplemented exception
|
24
|
+
class ExceptionNeedsToBeImplemented < InternalError; end
|
25
|
+
|
26
|
+
#raised if an file system error occured
|
27
|
+
class FilesystemError < Exception ; end
|
28
|
+
|
29
|
+
#raise if a directory does not exist in filesystem
|
30
|
+
class DirectoryDoesNotExist < FilesystemError; end
|
31
|
+
|
32
|
+
#raise if a file does not exist in filesystem
|
33
|
+
class FileDoesNotExist < FilesystemError; end
|
34
|
+
|
35
|
+
end
|
36
|
+
end
|
31
37
|
end
|
32
38
|
end
|
data/script/console
ADDED
data/script/terminal
ADDED
@@ -0,0 +1,12 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require 'tmrb'
|
4
|
+
|
5
|
+
tmux = TmRb::Multiplexer.new
|
6
|
+
#creates an empty window
|
7
|
+
tmux.new_session(:session_name => "fedux_org-stdlib")
|
8
|
+
|
9
|
+
tmux.new_window(:name => 'models', :command => 'vim -c \"NERDTree lib/fedux_org/stdlib/models\"')
|
10
|
+
tmux.new_window(:name => 'logging', :command => 'vim -c \"NERDTree lib/fedux_org/stdlib/logging\"')
|
11
|
+
tmux.new_window(:name => 'spec', :command => 'vim -c \"NERDTree spec\"')
|
12
|
+
tmux.start
|
@@ -0,0 +1,48 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
require 'fedux_org/stdlib/models'
|
4
|
+
|
5
|
+
describe Models::BaseModel do
|
6
|
+
|
7
|
+
before(:each) {
|
8
|
+
Models::BaseModel.clear
|
9
|
+
}
|
10
|
+
|
11
|
+
it "is possible to register a message" do
|
12
|
+
m1 = Models::BaseModel.new('name')
|
13
|
+
Models::BaseModel.register m1
|
14
|
+
end
|
15
|
+
|
16
|
+
it "is possible to find an object" do
|
17
|
+
m1 = Models::BaseModel.new('name')
|
18
|
+
Models::BaseModel.register m1
|
19
|
+
|
20
|
+
m_found = Models::BaseModel.find('name')
|
21
|
+
|
22
|
+
expect(m1).to eq(m_found)
|
23
|
+
end
|
24
|
+
|
25
|
+
it "is possible to create and register in one step" do
|
26
|
+
m1 = Models::BaseModel.create('name')
|
27
|
+
m_found = Models::BaseModel.find('name')
|
28
|
+
|
29
|
+
expect(m1).to eq(m_found)
|
30
|
+
end
|
31
|
+
|
32
|
+
it "is possible to delete an object" do
|
33
|
+
m1 = Models::BaseModel.create('name')
|
34
|
+
m2 = Models::BaseModel.delete('name')
|
35
|
+
|
36
|
+
expect(m1).to eq(m2)
|
37
|
+
end
|
38
|
+
|
39
|
+
it "is possible to delete all objects" do
|
40
|
+
Models::BaseModel.create('name1')
|
41
|
+
Models::BaseModel.create('name2')
|
42
|
+
Models::BaseModel.create('name3')
|
43
|
+
|
44
|
+
Models::BaseModel.clear
|
45
|
+
expect(Models::BaseModel.all).to eq( [] )
|
46
|
+
end
|
47
|
+
|
48
|
+
end
|
@@ -0,0 +1,185 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
require 'fedux_org/stdlib/models/class_based_model'
|
4
|
+
|
5
|
+
describe Models::ClassBasedModel do
|
6
|
+
|
7
|
+
before(:each) do
|
8
|
+
|
9
|
+
module TestIt
|
10
|
+
module Exceptions
|
11
|
+
class InvalidTestClass < Exception; end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
end
|
16
|
+
|
17
|
+
it "loads all available instances from the file system and make the classes available." do
|
18
|
+
# all loaded instances need be defined like that
|
19
|
+
#
|
20
|
+
# model:
|
21
|
+
# ------
|
22
|
+
# class Testmodel
|
23
|
+
# end
|
24
|
+
#
|
25
|
+
# Class to be loaded for instance of model (second level is plural of model name)
|
26
|
+
# Furthermore you need to define a method which is used as a check for a valid
|
27
|
+
# class. That class must not take an argument in #new! All arguments need to be
|
28
|
+
# taken by the '#method'.
|
29
|
+
# --------------------------------------------------------------------------------
|
30
|
+
# module Bla
|
31
|
+
# module Testmodels
|
32
|
+
# class XY
|
33
|
+
# def method
|
34
|
+
# end
|
35
|
+
# end
|
36
|
+
# end
|
37
|
+
# end
|
38
|
+
test_class = Class.new(Models::BaseModel) do
|
39
|
+
include Models::FilesystemBasedModel
|
40
|
+
include Models::ClassBasedModel
|
41
|
+
|
42
|
+
def initialize(name, klass)
|
43
|
+
super(name)
|
44
|
+
|
45
|
+
@klass = klass
|
46
|
+
end
|
47
|
+
|
48
|
+
def self.model_name
|
49
|
+
'TestClass'
|
50
|
+
end
|
51
|
+
|
52
|
+
def self.library_name
|
53
|
+
'TestIt'
|
54
|
+
end
|
55
|
+
|
56
|
+
def self.check_method
|
57
|
+
:req_method
|
58
|
+
end
|
59
|
+
|
60
|
+
def self.path_to_instances
|
61
|
+
File.join( examples_dir, 'models', 'class_based', 'valid_1.rb' )
|
62
|
+
end
|
63
|
+
|
64
|
+
def self.require_path(name)
|
65
|
+
File.join( examples_dir, 'models', 'class_based', 'valid_1' )
|
66
|
+
end
|
67
|
+
end
|
68
|
+
|
69
|
+
test_class.init
|
70
|
+
expect(test_class.all.first.name).to eq(:valid_1)
|
71
|
+
end
|
72
|
+
|
73
|
+
|
74
|
+
it "raises an error if an instance is invalid: name error" do
|
75
|
+
test_class = Class.new(Models::BaseModel) do
|
76
|
+
include Models::FilesystemBasedModel
|
77
|
+
include Models::ClassBasedModel
|
78
|
+
|
79
|
+
def initialize(name, klass)
|
80
|
+
super(name)
|
81
|
+
|
82
|
+
@klass = klass
|
83
|
+
end
|
84
|
+
|
85
|
+
def self.model_name
|
86
|
+
"TestClass"
|
87
|
+
end
|
88
|
+
|
89
|
+
def self.library_name
|
90
|
+
'TestIt'
|
91
|
+
end
|
92
|
+
|
93
|
+
def self.check_method
|
94
|
+
:req_method
|
95
|
+
end
|
96
|
+
|
97
|
+
def self.path_to_instances
|
98
|
+
File.join( examples_dir, 'models', 'class_based', 'invalid_1.rb' )
|
99
|
+
end
|
100
|
+
|
101
|
+
def self.require_path(name)
|
102
|
+
File.join( examples_dir, 'models', 'class_based', 'invalid_1' )
|
103
|
+
end
|
104
|
+
end
|
105
|
+
|
106
|
+
expect {
|
107
|
+
test_class.init
|
108
|
+
}.to raise_error
|
109
|
+
end
|
110
|
+
|
111
|
+
it "an import filter uses a forbidden keywords as name" do
|
112
|
+
test_class = Class.new(Models::BaseModel) do
|
113
|
+
include Models::FilesystemBasedModel
|
114
|
+
include Models::ClassBasedModel
|
115
|
+
|
116
|
+
def initialize(name, klass)
|
117
|
+
super(name)
|
118
|
+
|
119
|
+
@klass = klass
|
120
|
+
end
|
121
|
+
|
122
|
+
def self.model_name
|
123
|
+
"TestClass"
|
124
|
+
end
|
125
|
+
|
126
|
+
def self.library_name
|
127
|
+
'TestIt'
|
128
|
+
end
|
129
|
+
|
130
|
+
def self.path_to_instances
|
131
|
+
File.join( examples_dir, 'models', 'class_based', 'forbidden_keyword.rb' )
|
132
|
+
end
|
133
|
+
|
134
|
+
def self.require_path(name)
|
135
|
+
File.join( examples_dir, 'models', 'class_based', 'forbidden_keyword' )
|
136
|
+
end
|
137
|
+
|
138
|
+
def self.forbidden_keywords
|
139
|
+
[ :forbidden_keyword ]
|
140
|
+
end
|
141
|
+
end
|
142
|
+
|
143
|
+
expect {
|
144
|
+
test_class.init
|
145
|
+
}.to raise_error FeduxOrg::Stdlib::Models::Exceptions::UnauthorizedUseOfKeyword
|
146
|
+
end
|
147
|
+
|
148
|
+
it "raises an error if an import filter is invalid: missing method" do
|
149
|
+
test_class = Class.new(Models::BaseModel) do
|
150
|
+
include Models::FilesystemBasedModel
|
151
|
+
include Models::ClassBasedModel
|
152
|
+
|
153
|
+
def initialize(name, klass)
|
154
|
+
super(name)
|
155
|
+
|
156
|
+
@klass = klass
|
157
|
+
end
|
158
|
+
|
159
|
+
def self.model_name
|
160
|
+
"TestClass"
|
161
|
+
end
|
162
|
+
|
163
|
+
def self.library_name
|
164
|
+
'TestIt'
|
165
|
+
end
|
166
|
+
|
167
|
+
def self.path_to_instances
|
168
|
+
File.join( examples_dir, 'models', 'class_based', 'invalid_2.rb' )
|
169
|
+
end
|
170
|
+
|
171
|
+
def self.require_path(name)
|
172
|
+
File.join( examples_dir, 'models', 'class_based', 'invalid_2' )
|
173
|
+
end
|
174
|
+
|
175
|
+
def self.check_method
|
176
|
+
:req_method
|
177
|
+
end
|
178
|
+
end
|
179
|
+
|
180
|
+
expect {
|
181
|
+
test_class.init
|
182
|
+
}.to raise_error TestIt::Exceptions::InvalidTestClass
|
183
|
+
end
|
184
|
+
|
185
|
+
end
|
@@ -0,0 +1,105 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
require 'fedux_org/stdlib/models/filesystem_based_model'
|
4
|
+
|
5
|
+
describe Models::FilesystemBasedModel do
|
6
|
+
before(:each) do
|
7
|
+
@model = Class.new(Models::BaseModel) do
|
8
|
+
include Models::FilesystemBasedModel
|
9
|
+
|
10
|
+
def self.load_from_filesystem
|
11
|
+
[ :hello, :world ].each { |s| create( s ) }
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
@model.clear
|
16
|
+
|
17
|
+
module Test123
|
18
|
+
module Models
|
19
|
+
class TestClassForFilesystem < FeduxOrg::Stdlib::Models::BaseModel
|
20
|
+
include FeduxOrg::Stdlib::Models::FilesystemBasedModel
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
it "returns a string of all active filters" do
|
27
|
+
@model.create(:name1)
|
28
|
+
@model.create(:name2)
|
29
|
+
@model.enable :name1
|
30
|
+
@model.enable :name2
|
31
|
+
|
32
|
+
result = @model.all_names_as_string(", ")
|
33
|
+
expect(result).to eq("name1, name2")
|
34
|
+
|
35
|
+
result = @model.all_names_as_string
|
36
|
+
expect(result).to eq("name1, name2")
|
37
|
+
end
|
38
|
+
|
39
|
+
it "finds all available filter" do
|
40
|
+
@model.init
|
41
|
+
filter = @model.find(:hello)
|
42
|
+
expect(filter.name).to eq(:hello)
|
43
|
+
end
|
44
|
+
|
45
|
+
it "is default that all found filters are disabled" do
|
46
|
+
@model.init
|
47
|
+
all_filter = @model.all
|
48
|
+
all_not_enabled_filter = @model.find_all(enabled: false)
|
49
|
+
expect(all_filter.size).to eq(all_not_enabled_filter.size)
|
50
|
+
end
|
51
|
+
|
52
|
+
it "enables a filter by request" do
|
53
|
+
@model.init
|
54
|
+
@model.enable(:hello)
|
55
|
+
all_enabled_filter = @model.find_all( enabled: true )
|
56
|
+
filter = @model.find( :hello )
|
57
|
+
|
58
|
+
expect( all_enabled_filter ).to eq( [ filter ] )
|
59
|
+
end
|
60
|
+
|
61
|
+
it "s find method supports a hash based syntax" do
|
62
|
+
@model.init
|
63
|
+
@model.enable(:hello)
|
64
|
+
|
65
|
+
enabled_filter = @model.find(name: :hello, enabled: true)
|
66
|
+
expect(enabled_filter.name).to eq(:hello)
|
67
|
+
end
|
68
|
+
|
69
|
+
it "s find method supports a symbol based syntax as well. The search string is compared against the name method." do
|
70
|
+
@model.init
|
71
|
+
enabled_filter = @model.find(:hello)
|
72
|
+
expect(enabled_filter.name).to eq(:hello)
|
73
|
+
|
74
|
+
enabled_filter = @model.find_all(:hello)
|
75
|
+
expect(enabled_filter.first.name).to eq(:hello)
|
76
|
+
end
|
77
|
+
|
78
|
+
it "s find method supports a string based syntax as well. The search string is compared against the name method." do
|
79
|
+
@model.init
|
80
|
+
enabled_filter = @model.find('hello')
|
81
|
+
expect(enabled_filter.name).to eq(:hello)
|
82
|
+
|
83
|
+
enabled_filter = @model.find_all('hello')
|
84
|
+
expect(enabled_filter.first.name).to eq(:hello)
|
85
|
+
end
|
86
|
+
|
87
|
+
it "raises an error if an unknown search criteria is used" do
|
88
|
+
@model.init
|
89
|
+
expect {
|
90
|
+
enabled_filter = @model.find(unknown: 'hello')
|
91
|
+
}.to raise_error FeduxOrg::Stdlib::Models::Exceptions::InvalidSearchCriteria
|
92
|
+
end
|
93
|
+
|
94
|
+
it "returns the module name" do
|
95
|
+
expect( Test123::Models::TestClassForFilesystem.send(:module_name) ).to eq('Test123::Models')
|
96
|
+
end
|
97
|
+
|
98
|
+
it "returns the model name" do
|
99
|
+
expect( Test123::Models::TestClassForFilesystem.send(:model_name) ).to eq('TestClassForFilesystem')
|
100
|
+
end
|
101
|
+
|
102
|
+
it "returns the library name" do
|
103
|
+
expect( Test123::Models::TestClassForFilesystem.send(:library_name) ).to eq('Test123')
|
104
|
+
end
|
105
|
+
end
|
data/spec/spec_helper.rb
CHANGED
@@ -14,8 +14,8 @@ unless ENV['TRAVIS_CI'] == 'true'
|
|
14
14
|
SimpleCov.command_name 'rspec'
|
15
15
|
end
|
16
16
|
|
17
|
-
require '
|
18
|
-
include
|
17
|
+
require 'fedux_org/stdlib'
|
18
|
+
include FeduxOrg::Stdlib
|
19
19
|
|
20
20
|
RSpec.configure do |c|
|
21
21
|
c.treat_symbols_as_metadata_keys_with_true_values = true
|
@@ -26,3 +26,4 @@ end
|
|
26
26
|
def examples_dir
|
27
27
|
File.expand_path( '../examples', __FILE__ )
|
28
28
|
end
|
29
|
+
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fedux_org-stdlib
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
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: 2013-06-
|
12
|
+
date: 2013-06-06 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: bundler
|
@@ -43,6 +43,22 @@ dependencies:
|
|
43
43
|
- - ! '>='
|
44
44
|
- !ruby/object:Gem::Version
|
45
45
|
version: '0'
|
46
|
+
- !ruby/object:Gem::Dependency
|
47
|
+
name: activesupport
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
49
|
+
none: false
|
50
|
+
requirements:
|
51
|
+
- - ! '>='
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: '0'
|
54
|
+
type: :runtime
|
55
|
+
prerelease: false
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ! '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
46
62
|
description: collection of use full libraries
|
47
63
|
email:
|
48
64
|
- dev@fedux.org
|
@@ -51,6 +67,10 @@ extensions: []
|
|
51
67
|
extra_rdoc_files: []
|
52
68
|
files:
|
53
69
|
- .gitignore
|
70
|
+
- .rspec
|
71
|
+
- .simplecov
|
72
|
+
- .travis.yml
|
73
|
+
- .yardopts
|
54
74
|
- Gemfile
|
55
75
|
- LICENSE.md
|
56
76
|
- README.md
|
@@ -62,7 +82,7 @@ files:
|
|
62
82
|
- lib/fedux_org/stdlib/environment.rb
|
63
83
|
- lib/fedux_org/stdlib/filesystem.rb
|
64
84
|
- lib/fedux_org/stdlib/filesystem/exceptions.rb
|
65
|
-
- lib/fedux_org/stdlib/
|
85
|
+
- lib/fedux_org/stdlib/logging.rb
|
66
86
|
- lib/fedux_org/stdlib/logging/logger.rb
|
67
87
|
- lib/fedux_org/stdlib/models.rb
|
68
88
|
- lib/fedux_org/stdlib/models/base_model.rb
|
@@ -70,6 +90,15 @@ files:
|
|
70
90
|
- lib/fedux_org/stdlib/models/exceptions.rb
|
71
91
|
- lib/fedux_org/stdlib/models/filesystem_based_model.rb
|
72
92
|
- lib/fedux_org/stdlib/version.rb
|
93
|
+
- script/console
|
94
|
+
- script/terminal
|
95
|
+
- spec/examples/models/class_based/forbidden_keyword.rb
|
96
|
+
- spec/examples/models/class_based/invalid_1.rb
|
97
|
+
- spec/examples/models/class_based/invalid_2.rb
|
98
|
+
- spec/examples/models/class_based/valid_1.rb
|
99
|
+
- spec/models/base_model_spec.rb
|
100
|
+
- spec/models/class_based_model_spec.rb
|
101
|
+
- spec/models/filesystem_based_model_spec.rb
|
73
102
|
- spec/spec_helper.rb
|
74
103
|
homepage: ''
|
75
104
|
licenses:
|
@@ -97,5 +126,12 @@ signing_key:
|
|
97
126
|
specification_version: 3
|
98
127
|
summary: collection of use full libraries
|
99
128
|
test_files:
|
129
|
+
- spec/examples/models/class_based/forbidden_keyword.rb
|
130
|
+
- spec/examples/models/class_based/invalid_1.rb
|
131
|
+
- spec/examples/models/class_based/invalid_2.rb
|
132
|
+
- spec/examples/models/class_based/valid_1.rb
|
133
|
+
- spec/models/base_model_spec.rb
|
134
|
+
- spec/models/class_based_model_spec.rb
|
135
|
+
- spec/models/filesystem_based_model_spec.rb
|
100
136
|
- spec/spec_helper.rb
|
101
137
|
has_rdoc:
|