choron_support 0.1.9 → 0.1.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.
@@ -0,0 +1,40 @@
1
+ class ChoronSupport::Props::Private::Setting
2
+ class Error < StandardError; end
3
+ # デフォルト値を設定しない場合に使う値
4
+ NO_DEFAULT = Object.new.freeze
5
+ private_constant :NO_DEFAULT
6
+ SETTING_ATTRIBUTES = %i[method name to cast default if block].freeze
7
+
8
+ SETTING_ATTRIBUTES.each { |atr_name| attr_reader atr_name }
9
+
10
+ def initialize(params)
11
+ # 不正なオプションがあれば例外を発生させる
12
+ if (params.keys - SETTING_ATTRIBUTES).present?
13
+ raise Error,
14
+ "invalid params: #{(params.keys - SETTING_ATTRIBUTES).join(', ')}, valid params are #{SETTING_ATTRIBUTES.join(', ')}"
15
+ end
16
+
17
+ @method = params[:method]
18
+ @name = params[:name] || @method
19
+ @to = params[:to] || :model
20
+ @cast = params[:cast]
21
+ @default = params[:default] || NO_DEFAULT
22
+ @if = params[:if] || nil
23
+ @block = params[:block] || nil
24
+
25
+ check_params!
26
+ end
27
+
28
+ def set_default?
29
+ default != NO_DEFAULT
30
+ end
31
+
32
+ private
33
+
34
+ def check_params!
35
+ raise Error, "name is required" if name.blank?
36
+ return unless method.blank?
37
+
38
+ raise Error, "method is required"
39
+ end
40
+ end
@@ -7,7 +7,7 @@ module ChoronSupport
7
7
  @records = model_class.try!(:all)
8
8
  end
9
9
 
10
- # 各種このメソッドをオーバーライドしてください
10
+ # 各種このメソッドをオーバーライドしてください
11
11
  def call
12
12
  raise NotImplementedError
13
13
  # @example 実装例
@@ -16,12 +16,12 @@ module ChoronSupport
16
16
 
17
17
  def self.scope_query(query, specific: true, class_name: nil)
18
18
  # 直接Queryクラスを指定されていたらすぐにscopeにプロキシして返す
19
- if !class_name.to_s.empty?
20
- query_class = class_name.to_s.constantize
21
- else
19
+ if class_name.to_s.empty?
22
20
  namespace = "Queries"
23
21
  model_name = specific ? self.to_s : nil
24
22
  query_class = ChoronSupport::Helper.generate_choron_class(namespace, model_name, query)
23
+ else
24
+ query_class = class_name.to_s.constantize
25
25
  end
26
26
 
27
27
  # ActiveRecordのscopeメソッドを呼びます
@@ -9,7 +9,7 @@ module ChoronSupport
9
9
  MASKING_VALUES = { string: "****", else: nil }.freeze
10
10
 
11
11
  included do
12
- def self.set_mask_for(*method_symbols, condition: nil)
12
+ def self.set_mask_for(*method_symbols)
13
13
  method_symbols.each do |method_symbol|
14
14
  self.instance_eval { private attr_accessor WITH_OUT_MASK_FLAG_VARIABLE_NAME }
15
15
  define_method(method_symbol) do
@@ -34,11 +34,11 @@ module ChoronSupport
34
34
 
35
35
  # マスクの値に関係なく元の値を取得するためのメソッドです。
36
36
  define_method("danger_without_mask_#{method_symbol}") do
37
- val = nil
37
+ origin = nil
38
38
  self.without_mask do |model|
39
- val = model.send(method_symbol)
39
+ origin = model.send(method_symbol)
40
40
  end
41
- val
41
+ origin
42
42
  end
43
43
  end
44
44
 
@@ -74,4 +74,4 @@ module ChoronSupport
74
74
  end
75
75
  end
76
76
  end
77
- end
77
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ChoronSupport
4
- VERSION = "0.1.9"
4
+ VERSION = "0.1.11"
5
5
  end
@@ -1,6 +1,12 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ChoronSupport
4
+ module Domains; end
5
+ module Forms; end
6
+ module Props; end
7
+ module Props::Private; end
8
+ module Queries; end
9
+
4
10
  SUPPORT_FILES = {
5
11
  domains: "choron_support/domain_delegate",
6
12
  queries: "choron_support/scope_query",
@@ -21,7 +27,7 @@ module ChoronSupport
21
27
  module_names.to_a.each do |module_name|
22
28
  case module_name.to_sym
23
29
  when :all
24
- SUPPORT_FILES.each do |key, file_name|
30
+ SUPPORT_FILES.each do |_key, file_name|
25
31
  require file_name
26
32
  end
27
33
  else
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: choron_support
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.9
4
+ version: 0.1.11
5
5
  platform: ruby
6
6
  authors:
7
7
  - mksava
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-12-05 00:00:00.000000000 Z
11
+ date: 2024-08-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -39,7 +39,7 @@ dependencies:
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
- name: ridgepole
42
+ name: factory_bot_rails
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - ">="
@@ -67,7 +67,7 @@ dependencies:
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
69
  - !ruby/object:Gem::Dependency
70
- name: spring
70
+ name: pry-byebug
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - ">="
@@ -81,7 +81,7 @@ dependencies:
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
83
  - !ruby/object:Gem::Dependency
84
- name: spring-commands-rspec
84
+ name: pry-rails
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - ">="
@@ -95,7 +95,7 @@ dependencies:
95
95
  - !ruby/object:Gem::Version
96
96
  version: '0'
97
97
  - !ruby/object:Gem::Dependency
98
- name: pry-rails
98
+ name: ridgepole
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
101
  - - ">="
@@ -109,7 +109,7 @@ dependencies:
109
109
  - !ruby/object:Gem::Version
110
110
  version: '0'
111
111
  - !ruby/object:Gem::Dependency
112
- name: pry-byebug
112
+ name: rspec-parameterized
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
115
  - - ">="
@@ -123,7 +123,7 @@ dependencies:
123
123
  - !ruby/object:Gem::Version
124
124
  version: '0'
125
125
  - !ruby/object:Gem::Dependency
126
- name: yard
126
+ name: simplecov
127
127
  requirement: !ruby/object:Gem::Requirement
128
128
  requirements:
129
129
  - - ">="
@@ -137,7 +137,7 @@ dependencies:
137
137
  - !ruby/object:Gem::Version
138
138
  version: '0'
139
139
  - !ruby/object:Gem::Dependency
140
- name: factory_bot_rails
140
+ name: spring
141
141
  requirement: !ruby/object:Gem::Requirement
142
142
  requirements:
143
143
  - - ">="
@@ -151,7 +151,7 @@ dependencies:
151
151
  - !ruby/object:Gem::Version
152
152
  version: '0'
153
153
  - !ruby/object:Gem::Dependency
154
- name: simplecov
154
+ name: spring-commands-rspec
155
155
  requirement: !ruby/object:Gem::Requirement
156
156
  requirements:
157
157
  - - ">="
@@ -165,7 +165,7 @@ dependencies:
165
165
  - !ruby/object:Gem::Version
166
166
  version: '0'
167
167
  - !ruby/object:Gem::Dependency
168
- name: rspec-parameterized
168
+ name: yard
169
169
  requirement: !ruby/object:Gem::Requirement
170
170
  requirements:
171
171
  - - ">="
@@ -188,6 +188,7 @@ extra_rdoc_files: []
188
188
  files:
189
189
  - ".rspec"
190
190
  - ".rubocop.yml"
191
+ - ".rubocop_todo.yml"
191
192
  - CHANGELOG.md
192
193
  - CODE_OF_CONDUCT.md
193
194
  - Dockerfile
@@ -212,6 +213,7 @@ files:
212
213
  - lib/choron_support/props/base.rb
213
214
  - lib/choron_support/props/ext/hash.rb
214
215
  - lib/choron_support/props/ext/relation.rb
216
+ - lib/choron_support/props/private/setting.rb
215
217
  - lib/choron_support/queries/base.rb
216
218
  - lib/choron_support/scope_query.rb
217
219
  - lib/choron_support/set_mask_for.rb
@@ -226,6 +228,7 @@ metadata:
226
228
  homepage_uri: https://github.com/mksava/choron_support
227
229
  source_code_uri: https://github.com/mksava/choron_support
228
230
  changelog_uri: https://github.com/mksava/choron_support/blob/main/CHANGELOG.md
231
+ rubygems_mfa_required: 'true'
229
232
  post_install_message:
230
233
  rdoc_options: []
231
234
  require_paths:
@@ -234,7 +237,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
234
237
  requirements:
235
238
  - - ">="
236
239
  - !ruby/object:Gem::Version
237
- version: 2.6.0
240
+ version: '3.1'
238
241
  required_rubygems_version: !ruby/object:Gem::Requirement
239
242
  requirements:
240
243
  - - ">="