framework 0.0.6 → 0.0.7

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 9853575b2c38340d39dfb5d42acfb30d71fc7c6f
4
- data.tar.gz: c06ea768ca188b3d9b2ee6a5a123781bc29a2745
3
+ metadata.gz: fce607f0a6316cb93d48a18d25184cb8f5df9b4b
4
+ data.tar.gz: 8a1030efe91f69b6f90fd1866a5aaa410f27988e
5
5
  SHA512:
6
- metadata.gz: b7a12555b1301f2f14c79d99bc4675add001f8ce69867dd5d30750785d5f5eb76336d5a44681d2be5050f96437bceaf60b0202417a324921b06eb7094e578302
7
- data.tar.gz: 7b1b5ae31d928b310cdbf2daaa619ff9b4da608df7e0dfbc71b25f66f11d6a64a616d2c0788ef16789f797a1aad1cb8bf7fb4f8c0cb37a97946d3731d5605077
6
+ metadata.gz: 92b4b1044ebd0e8d2ffa824f7cd3b8306594ee1a840e18ae2605d1a408ce5fb6e3ff8b3d4cbcc751e8e08bd939670f3799845bd86e92f937153a20bd2d0ccf60
7
+ data.tar.gz: 2c62e4cff803fba1b76b8051e10bcb744b5656d383229c575a39801556ddb0a8b9c3e5850f30d3bc385c4f00e50f3439bdf028f42b33af29d8f1e6cc59f4cb12
@@ -1,4 +1,7 @@
1
1
  require 'framework/root'
2
+ require 'framework/config'
3
+ require 'action_dispatch/middleware/reloader'
4
+ require 'action_dispatch/middleware/callbacks'
2
5
 
3
6
  module Framework
4
7
  class Application
@@ -194,7 +197,7 @@ module Framework
194
197
 
195
198
  # @return [Hash]
196
199
  def load_application_config
197
- @config = YAML.load_file(root.join(CONFIG_PATH))[env]
200
+ @config = Framework::Config.new(YAML.load_file(root.join(CONFIG_PATH))[env])
198
201
  end
199
202
 
200
203
  # @return [Hash]
@@ -0,0 +1,49 @@
1
+ module Framework
2
+ class Config < Hash
3
+
4
+ # @param hash [Hash]
5
+ def initialize(hash)
6
+ super()
7
+ hash.each_pair { |k, v| self[k] = v }
8
+ end
9
+
10
+ # @param k [Symbol, String]
11
+ def [](k)
12
+ super(k.to_sym)
13
+ end
14
+
15
+ # @param k [Symbol, String]
16
+ # @param v
17
+ def []=(k,v)
18
+ super(k.to_sym, wrap(v))
19
+ end
20
+
21
+ def method_missing(method_name, *args, &block)
22
+ case args.count
23
+ when 0
24
+ self[method_name]
25
+ when 1
26
+ mname = method_name.to_s
27
+
28
+ if mname.end_with?('=')
29
+ self[mname.sub('=', '').to_sym] = *args
30
+ else
31
+ super
32
+ end
33
+ else
34
+ super
35
+ end
36
+ end
37
+
38
+ private
39
+
40
+ def wrap(v)
41
+ case v
42
+ when Hash
43
+ self.class.new(v)
44
+ else
45
+ v
46
+ end
47
+ end
48
+ end
49
+ end
@@ -74,7 +74,6 @@ module Framework
74
74
  <<: *common
75
75
  database: #{db_name}_production
76
76
 
77
- # Custom one. Models located at app/models/second_one path will point to this database by default.
78
77
  second_one:
79
78
  development: &common
80
79
  adapter: postgresql
@@ -1,3 +1,3 @@
1
1
  module Framework
2
- VERSION = '0.0.6'.freeze
2
+ VERSION = '0.0.7'.freeze
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: framework
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.6
4
+ version: 0.0.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sergei Nikolaevich Zinin
@@ -50,6 +50,26 @@ dependencies:
50
50
  - - ">="
51
51
  - !ruby/object:Gem::Version
52
52
  version: 3.2.16
53
+ - !ruby/object:Gem::Dependency
54
+ name: actionpack
55
+ requirement: !ruby/object:Gem::Requirement
56
+ requirements:
57
+ - - "~>"
58
+ - !ruby/object:Gem::Version
59
+ version: '3.2'
60
+ - - ">="
61
+ - !ruby/object:Gem::Version
62
+ version: 3.2.16
63
+ type: :runtime
64
+ prerelease: false
65
+ version_requirements: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - "~>"
68
+ - !ruby/object:Gem::Version
69
+ version: '3.2'
70
+ - - ">="
71
+ - !ruby/object:Gem::Version
72
+ version: 3.2.16
53
73
  - !ruby/object:Gem::Dependency
54
74
  name: awesome_print
55
75
  requirement: !ruby/object:Gem::Requirement
@@ -164,6 +184,7 @@ files:
164
184
  - lib/framework.rb
165
185
  - lib/framework/application.rb
166
186
  - lib/framework/cli.rb
187
+ - lib/framework/config.rb
167
188
  - lib/framework/db_listener.rb
168
189
  - lib/framework/extensions/active_record/base_extension.rb
169
190
  - lib/framework/generators/application_generator.rb