eco-helpers 1.3.19 → 1.5.1
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 +72 -1
- data/eco-helpers.gemspec +11 -10
- data/lib/eco/api.rb +1 -0
- data/lib/eco/api/common.rb +1 -1
- data/lib/eco/api/common/people/default_parsers.rb +4 -0
- data/lib/eco/api/common/people/default_parsers/freemium_parser.rb +30 -0
- data/lib/eco/api/common/people/default_parsers/policy_groups_parser.rb +42 -0
- data/lib/eco/api/common/people/default_parsers/send_invites_parser.rb +2 -1
- data/lib/eco/api/common/people/entry_factory.rb +8 -7
- data/lib/eco/api/common/people/person_entry_attribute_mapper.rb +2 -0
- data/lib/eco/api/common/people/person_parser.rb +1 -1
- data/lib/eco/api/common/session/base_session.rb +3 -6
- data/lib/eco/api/common/session/environment.rb +2 -23
- data/lib/eco/api/common/version_patches/ecoportal_api.rb +0 -2
- data/lib/eco/api/common/version_patches/ecoportal_api/external_person.rb +0 -4
- data/lib/eco/api/common/version_patches/ecoportal_api/internal_person.rb +9 -1
- data/lib/eco/api/microcases.rb +31 -0
- data/lib/eco/api/microcases/core_excluded.rb +20 -0
- data/lib/eco/api/microcases/fix_filter_tags.rb +22 -0
- data/lib/eco/api/microcases/set_account.rb +32 -0
- data/lib/eco/api/microcases/set_core.rb +18 -0
- data/lib/eco/api/microcases/set_default_group.rb +33 -0
- data/lib/eco/api/microcases/set_default_tag.rb +23 -0
- data/lib/eco/api/microcases/set_supervisor.rb +26 -0
- data/lib/eco/api/microcases/strict_search.rb +14 -0
- data/lib/eco/api/organization/presets_reference.json +20 -3
- data/lib/eco/api/organization/presets_values.json +6 -1
- data/lib/eco/api/session.rb +9 -6
- data/lib/eco/api/session/batch.rb +1 -44
- data/lib/eco/api/session/config.rb +2 -2
- data/lib/eco/api/session/config/api.rb +121 -7
- data/lib/eco/api/session/config/apis.rb +24 -25
- data/lib/eco/api/usecases/default_cases/recover_db_case.rb +1 -0
- data/lib/eco/api/usecases/microed_cases/hris_case.rb +53 -0
- data/lib/eco/api/usecases/microed_cases/update_case.rb +33 -0
- data/lib/eco/api/usecases/microed_cases/update_details_case.rb +30 -0
- data/lib/eco/api/usecases/microed_cases/upsert_case.rb +36 -0
- data/lib/eco/csv.rb +8 -3
- data/lib/eco/data/files/helpers.rb +7 -2
- data/lib/eco/version.rb +1 -1
- metadata +95 -56
- data/lib/eco/api/common/version_patches/ecoportal_api/account_preferences.rb +0 -32
- data/lib/eco/api/common/version_patches/ecoportal_api/base_model.rb +0 -27
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a6fbde8a22ee5efad00700ad096396a008f9a8f9ecaf8e2096f22b7730fa28d2
|
4
|
+
data.tar.gz: dc498ae2c6f853f92f3e2703d116a442c2814b2c0a230270e319fabf8678342c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9cb6d878d32370e81c512b01de2da8c6c32abcd79d636f1d70189228445c0094acef7236ffc4447c0cdd79e05576c22ceeb4798160da8752d655ff71e35440fb
|
7
|
+
data.tar.gz: 14283f84d4fbdc87a160dcdb842a3b154987d606333018acc0a636bd2ee2db9a25167c0106b8c8ba5fc56b4107324c9afa07caaeebe9e219bdaac1aac9d21687
|
data/CHANGELOG.md
CHANGED
@@ -1,6 +1,77 @@
|
|
1
1
|
# Change Log
|
2
2
|
All notable changes to this project will be documented in this file.
|
3
3
|
|
4
|
+
## [1.5.1] - 2020-10-xx
|
5
|
+
|
6
|
+
### Added
|
7
|
+
- `presets_values.json`: added the new ability `tasks` (eP release `1.5.3`)
|
8
|
+
- `Ecoportal::API::Internal::Person` patch helper methods:
|
9
|
+
* `new?`: to know if this person is new in the people manager as a result of the current launch
|
10
|
+
* `account_added?`: to know if this person did not have account but they will have it after the current launch
|
11
|
+
- `Eco::API::Session#new_job`: to shorten code
|
12
|
+
- `Eco::API::Common::DefaultPasers::PolicyGroupsParser`: made native, as it is a very common parser
|
13
|
+
- `Eco::API::Common::DefaultPasers::FreemiumParser` to parse/serialise boolean
|
14
|
+
- `Eco::API::Common::People::PersonParser`: added `freemium` as core attribute
|
15
|
+
- `Eco::API::UserCases::DefaultCases::RecoverDBCase`: recovers also `freemium`
|
16
|
+
- scoping **microcases** : to be able to centralize common code between use cases
|
17
|
+
- at its early stage (currently not available for usage)
|
18
|
+
- dependency on `ecoportal-api-oozes` gem
|
19
|
+
- added basic support for **api** `v2`
|
20
|
+
- you can use `session.api(:oozes)` to obtain an api `v2`
|
21
|
+
- you can manage your keys directly on the apis configuration
|
22
|
+
- added `external_key:`, `user_key:` and `apis.default_user_key`
|
23
|
+
|
24
|
+
```ruby
|
25
|
+
ASSETS.config do |config|
|
26
|
+
config.apis.default_user_key = 'your-user-key-here'
|
27
|
+
|
28
|
+
config.add_api("org-environment", {
|
29
|
+
host: 'pre.dev.ecoportal.com',
|
30
|
+
key: 'an-internal-org-api-key',
|
31
|
+
version: :internal,
|
32
|
+
external_key: 'an-external-org-api-key',
|
33
|
+
user_key: 'org-user-key-for-activity-stream',
|
34
|
+
mode: :local
|
35
|
+
})
|
36
|
+
end
|
37
|
+
```
|
38
|
+
### Changed
|
39
|
+
- internally: load `Eco::API::Common::Session` before `Eco::API::Common::People`
|
40
|
+
- `Eco::API::Common::Person::EntryFactory`: made child of `Eco::API::Common::Session::BaseSession`
|
41
|
+
- refactored all the `api` connection creation for simplicity and to support multi api version
|
42
|
+
- delegated `Eco::API::Session::Batch#get` to `Ecoportal::API::V1::People#get_all`
|
43
|
+
|
44
|
+
### Fixed
|
45
|
+
- correct `.gemspec` dependency version restrictions
|
46
|
+
|
47
|
+
## [1.5.0] - 2020-09-11
|
48
|
+
|
49
|
+
### Added
|
50
|
+
- `Eco::Data::Files#file_empty?` to prevent error when checking encoding
|
51
|
+
### Changed
|
52
|
+
- change abilities to align with ecoPortal release `1.5.2`
|
53
|
+
### Fixed
|
54
|
+
- `Eco::CSV#parse` and `Eco::CSV#read` should use the proper `encoding` when it's `bom`
|
55
|
+
* apparently, this can only be achieved by passing an argument such as `rb:bom|utf-8`
|
56
|
+
* best reference found: https://stackoverflow.com/a/60794851/4352306
|
57
|
+
|
58
|
+
## [1.4.2] - 2020-07-23
|
59
|
+
|
60
|
+
### Added
|
61
|
+
### Changed
|
62
|
+
### Fixed
|
63
|
+
- preserve backtrace on logging
|
64
|
+
|
65
|
+
## [1.4.0] - 2020-07-14
|
66
|
+
|
67
|
+
### Added
|
68
|
+
### Changed
|
69
|
+
- change abilities to align with ecoPortal release `1.5.0`
|
70
|
+
- remove some patches on `ecoportal-api`
|
71
|
+
- removed patch method `Ecoportal::API::V1::Person#sync`
|
72
|
+
### Fixed
|
73
|
+
- `Eco::CSV#parse` and `Eco::CSV#read` should use the proper `:encoding` when it's `bom`
|
74
|
+
|
4
75
|
## [1.3.19] - 2020-07-23
|
5
76
|
|
6
77
|
### Added
|
@@ -60,7 +131,7 @@ All notable changes to this project will be documented in this file.
|
|
60
131
|
- `Eco::API::Organization::TagTree#tag?` to accept `nil` by returning `false`
|
61
132
|
- `Eco::API::Common::People::DefaultParsers::DateParser` will parse to `Date` class
|
62
133
|
* it was parsing to `Time` class, while the native gem `ecoportal-api` parses as `Date` ([reference](https://gitlab.com/ecoPortal/ecoportal-api/-/blob/master/lib/ecoportal/api/v1/schema_field.rb))
|
63
|
-
## [1.3.
|
134
|
+
## [1.3.12] - 2020-05-19
|
64
135
|
|
65
136
|
### Added
|
66
137
|
### Changed
|
data/eco-helpers.gemspec
CHANGED
@@ -22,16 +22,17 @@ Gem::Specification.new do |s|
|
|
22
22
|
#s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
23
23
|
s.require_paths = ["lib"]
|
24
24
|
|
25
|
-
s.add_development_dependency "bundler", "
|
26
|
-
s.add_development_dependency "rspec", "
|
27
|
-
s.add_development_dependency "rake", "
|
28
|
-
s.add_development_dependency "yard", "
|
29
|
-
s.add_development_dependency "redcarpet", "
|
25
|
+
s.add_development_dependency "bundler", ">= 2.1.3", "< 2.2"
|
26
|
+
s.add_development_dependency "rspec", ">= 3.9", "< 4"
|
27
|
+
s.add_development_dependency "rake", ">= 12.3.0", "< 13"
|
28
|
+
s.add_development_dependency "yard", ">= 0.9.18", "< 0.10"
|
29
|
+
s.add_development_dependency "redcarpet", ">= 3.5.0", "< 3.6"
|
30
30
|
|
31
|
-
s.add_dependency 'ecoportal-api', '
|
32
|
-
s.add_dependency '
|
33
|
-
s.add_dependency 'aws-sdk-
|
34
|
-
s.add_dependency '
|
35
|
-
s.add_dependency '
|
31
|
+
s.add_dependency 'ecoportal-api', '>= 0.7.1', '< 0.8'
|
32
|
+
s.add_dependency 'ecoportal-api-oozes', '>= 0.7.2', '< 0.8'
|
33
|
+
s.add_dependency 'aws-sdk-s3', '>= 1.64.0', '< 2'
|
34
|
+
s.add_dependency 'aws-sdk-ses', '>= 1.29.0', '< 2'
|
35
|
+
s.add_dependency 'dotenv', '>= 2.7.0', '< 2.8'
|
36
|
+
s.add_dependency 'net-sftp', '>= 2.1.2', '< 2.2'
|
36
37
|
|
37
38
|
end
|
data/lib/eco/api.rb
CHANGED
data/lib/eco/api/common.rb
CHANGED
@@ -31,6 +31,8 @@ module Eco
|
|
31
31
|
|
32
32
|
# ALWAYS PRESENT FIELDS
|
33
33
|
SendInvitesParser.new(self).process
|
34
|
+
FreemiumParser.new(self).process
|
35
|
+
PolicyGroupsParser.new(self).process
|
34
36
|
|
35
37
|
# FORMAT PARSER
|
36
38
|
CSVParser.new(self).process
|
@@ -48,4 +50,6 @@ require_relative 'default_parsers/numeric_parser'
|
|
48
50
|
require_relative 'default_parsers/date_parser'
|
49
51
|
require_relative 'default_parsers/multi_parser'
|
50
52
|
require_relative 'default_parsers/send_invites_parser'
|
53
|
+
require_relative 'default_parsers/freemium_parser'
|
54
|
+
require_relative 'default_parsers/policy_groups_parser'
|
51
55
|
require_relative 'default_parsers/csv_parser'
|
@@ -0,0 +1,30 @@
|
|
1
|
+
module Eco
|
2
|
+
module API
|
3
|
+
module Common
|
4
|
+
module People
|
5
|
+
class DefaultParsers
|
6
|
+
class FreemiumParser < People::BaseParser
|
7
|
+
|
8
|
+
def process
|
9
|
+
@parsers.define_attribute("freemium") do |parser|
|
10
|
+
parser.def_parser do |hash|
|
11
|
+
value = hash["freemium"]
|
12
|
+
value = value.first if value.is_a?(Array)
|
13
|
+
truthy(value)
|
14
|
+
end.def_serializer do |person|
|
15
|
+
person.freemium&.to_s
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
private
|
21
|
+
|
22
|
+
def truthy (value)
|
23
|
+
%w[true y yes x].include?(value.to_s&.downcase)
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
@@ -0,0 +1,42 @@
|
|
1
|
+
module Eco
|
2
|
+
module API
|
3
|
+
module Common
|
4
|
+
module People
|
5
|
+
class DefaultParsers
|
6
|
+
class PolicyGroupsParser < People::BaseParser
|
7
|
+
|
8
|
+
def process
|
9
|
+
@parsers.define_attribute("policy_group_ids") do |parser|
|
10
|
+
parser.def_parser do |columns_hash|
|
11
|
+
policy_group_ids = []
|
12
|
+
if policy_ids = columns_hash["policy_group_ids"]
|
13
|
+
policy_group_ids = policy_ids.split("|").map do |name|
|
14
|
+
policy_groups.to_id(name&.downcase.strip)
|
15
|
+
end.compact
|
16
|
+
end
|
17
|
+
policy_group_ids.empty?? default_id : policy_group_ids.join("|")
|
18
|
+
end.def_serializer do |person|
|
19
|
+
ids = person&.account&.policy_group_ids || []
|
20
|
+
ids.map do |id|
|
21
|
+
policy_groups.to_name(id)
|
22
|
+
end.compact.join("|")
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
private
|
28
|
+
|
29
|
+
def policy_groups
|
30
|
+
@policy_groups ||= ASSETS.config.policy_groups
|
31
|
+
end
|
32
|
+
|
33
|
+
def default_id
|
34
|
+
@default_id ||= policy_groups.to_id(ASSETS.config.people.default_usergroup)
|
35
|
+
end
|
36
|
+
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
@@ -9,7 +9,8 @@ module Eco
|
|
9
9
|
@parsers.define_attribute("send_invites") do |parser|
|
10
10
|
parser.def_parser do |hash|
|
11
11
|
value = hash["send_invites"]
|
12
|
-
value
|
12
|
+
value = value.first if value.is_a?(Array)
|
13
|
+
truthy(value)
|
13
14
|
end.def_serializer do |person|
|
14
15
|
person.account && person.account.send_invites&.to_s
|
15
16
|
end
|
@@ -4,21 +4,21 @@ module Eco
|
|
4
4
|
module People
|
5
5
|
# Helper factory class to generate entries (input entries).
|
6
6
|
# @attr_reader schema [Ecoportal::API::V1::PersonSchema] person schema to be used in this entry factory
|
7
|
-
|
8
|
-
class EntryFactory
|
7
|
+
class EntryFactory < Eco::API::Common::Session::BaseSession
|
9
8
|
|
10
9
|
attr_reader :schema, :person_parser
|
11
10
|
|
11
|
+
# @param e [Eco::API::Common::Session::Environment] requires a session environment, as any child of `Eco::API::Common::Session::BaseSession`
|
12
12
|
# @param schema [Ecoportal::API::V1::PersonSchema] schema of person details that the parser will be based upon.
|
13
13
|
# @param person_parser [nil, Eco::API::Common::People::PersonParser] set of attribute, type and format parsers/serializers.
|
14
14
|
# @param attr_map [nil, Eco::Data::Mapper] attribute names mapper to translate external names into internal ones and _vice versa_.
|
15
15
|
# @param logger [Common::Session::Logger, ::Logger] object to manage logs.
|
16
|
-
def initialize(schema:, person_parser: nil, attr_map: nil
|
16
|
+
def initialize(e, schema:, person_parser: nil, attr_map: nil)
|
17
17
|
fatal "Constructor needs a PersonSchema. Given: #{schema}" if !schema.is_a?(Ecoportal::API::V1::PersonSchema)
|
18
18
|
fatal "Expecting PersonParser. Given: #{person_parser}" if person_parser && !person_parser.is_a?(Eco::API::Common::People::PersonParser)
|
19
19
|
fatal "Expecting Mapper object. Given: #{fields_mapper}" if attr_map && !attr_map.is_a?(Eco::Data::Mapper)
|
20
|
+
super(e)
|
20
21
|
|
21
|
-
@logger = logger
|
22
22
|
@schema = Ecoportal::API::V1::PersonSchema.new(JSON.parse(schema.doc.to_json))
|
23
23
|
|
24
24
|
@source_person_parser = person_parser
|
@@ -34,6 +34,7 @@ module Eco
|
|
34
34
|
|
35
35
|
# provides with a Eco::API::Common::People::PersonParser object (collection of attribute parsers)
|
36
36
|
# @note if the custom person parser has changed, it updates the copy of this EntryFactory instance
|
37
|
+
# @return [Eco::API::Common::People::PersonParser] set of attribute, type and format parsers/serializers.
|
37
38
|
def person_parser
|
38
39
|
if @person_parser_patch_version < @source_person_parser.patch_version
|
39
40
|
@person_parser.merge(@source_person_parser)
|
@@ -52,7 +53,7 @@ module Eco
|
|
52
53
|
person_parser: person_parser,
|
53
54
|
attr_map: @attr_map,
|
54
55
|
dependencies: dependencies,
|
55
|
-
logger:
|
56
|
+
logger: logger
|
56
57
|
)
|
57
58
|
end
|
58
59
|
|
@@ -81,7 +82,7 @@ module Eco
|
|
81
82
|
file_content = File.read(file, encoding: encoding)
|
82
83
|
arr_hash = person_parser.parse(format, file_content)
|
83
84
|
else
|
84
|
-
|
85
|
+
logger.warn("File does not exist: #{file}")
|
85
86
|
end
|
86
87
|
|
87
88
|
entries(data: arr_hash)
|
@@ -131,7 +132,7 @@ module Eco
|
|
131
132
|
private
|
132
133
|
|
133
134
|
def fatal(msg)
|
134
|
-
|
135
|
+
logger.fatal(msg)
|
135
136
|
raise msg
|
136
137
|
end
|
137
138
|
|
@@ -72,6 +72,8 @@ module Eco
|
|
72
72
|
# @param value [String, Array<String>] value(s) to be translated into internal names.
|
73
73
|
# @return [String, nil, Array<String] the internal name(s) of `value`.
|
74
74
|
def to_internal(value)
|
75
|
+
# TODO: check PersonEntry#to_internal and #to_external in init_attr_trackers
|
76
|
+
# => when attr_map is avoided, it doesn't work as it should
|
75
77
|
return value if !@attr_map
|
76
78
|
attr = value
|
77
79
|
case value
|
@@ -9,7 +9,7 @@ module Eco
|
|
9
9
|
# @attr_reader details_attrs [Array<String>] internal names of schema details attributes.
|
10
10
|
# @attr_reader all_attrs [Array<String>] all the internal name attributes, including _core_, _account_ and _details_.
|
11
11
|
class PersonParser
|
12
|
-
CORE_ATTRS = ["id", "external_id", "email", "name", "supervisor_id", "filter_tags"]
|
12
|
+
CORE_ATTRS = ["id", "external_id", "email", "name", "supervisor_id", "filter_tags", "freemium"]
|
13
13
|
ACCOUNT_ATTRS = ["policy_group_ids", "default_tag", "send_invites", "landing_page_id", "login_provider_ids"]
|
14
14
|
TYPE = [:select, :text, :date, :number, :phone_number, :boolean, :multiple]
|
15
15
|
FORMAT = [:csv, :xml, :json]
|
@@ -3,9 +3,6 @@ module Eco
|
|
3
3
|
module Common
|
4
4
|
module Session
|
5
5
|
class BaseSession
|
6
|
-
|
7
|
-
include Common::People
|
8
|
-
|
9
6
|
attr_accessor :session
|
10
7
|
attr_accessor :environment, :config
|
11
8
|
alias_method :enviro, :environment
|
@@ -32,8 +29,8 @@ module Eco
|
|
32
29
|
enviro.config
|
33
30
|
end
|
34
31
|
|
35
|
-
def api
|
36
|
-
enviro.api
|
32
|
+
def api(version: nil)
|
33
|
+
enviro.api(version: version)
|
37
34
|
end
|
38
35
|
|
39
36
|
def file_manager
|
@@ -47,7 +44,7 @@ module Eco
|
|
47
44
|
def mailer?
|
48
45
|
enviro.mailer?
|
49
46
|
end
|
50
|
-
|
47
|
+
|
51
48
|
def sftp
|
52
49
|
enviro.sftp
|
53
50
|
end
|
@@ -3,11 +3,7 @@ module Eco
|
|
3
3
|
module Common
|
4
4
|
module Session
|
5
5
|
class Environment
|
6
|
-
|
7
|
-
include Common::People
|
8
|
-
|
9
6
|
attr_reader :config, :session
|
10
|
-
attr_reader :api #, :host, :version
|
11
7
|
attr_reader :file_manager, :logger
|
12
8
|
attr_reader :mailer, :sftp, :s3uploader
|
13
9
|
|
@@ -57,25 +53,8 @@ module Eco
|
|
57
53
|
config.s3storage.configured?
|
58
54
|
end
|
59
55
|
|
60
|
-
def api
|
61
|
-
|
62
|
-
end
|
63
|
-
|
64
|
-
def new_api
|
65
|
-
return nil unless config.apis.active_api
|
66
|
-
|
67
|
-
log_connection = config.logger.log_connection?
|
68
|
-
logg = log_connection ? logger : ::Logger.new(IO::NULL)
|
69
|
-
|
70
|
-
api = config.api(logg)
|
71
|
-
|
72
|
-
unless log_connection
|
73
|
-
logger.info("Created connection pointing to '#{config.apis.active_api.host}' in '#{config.apis.active_api.mode}' mode")
|
74
|
-
api.logger.level = ::Logger::UNKNOWN
|
75
|
-
end
|
76
|
-
|
77
|
-
@api = api
|
78
|
-
api
|
56
|
+
def api(version: nil)
|
57
|
+
config.api(logger, version: version)
|
79
58
|
end
|
80
59
|
|
81
60
|
end
|
@@ -2,7 +2,7 @@ module Ecoportal
|
|
2
2
|
module API
|
3
3
|
class Internal
|
4
4
|
class Person
|
5
|
-
|
5
|
+
|
6
6
|
def reset_account!
|
7
7
|
doc["account"] = JSON.parse(original_doc["account"])
|
8
8
|
end
|
@@ -11,6 +11,14 @@ module Ecoportal
|
|
11
11
|
original_doc["account"] = JSON.parse(doc["account"])
|
12
12
|
end
|
13
13
|
|
14
|
+
def new?
|
15
|
+
!initial_doc["details"] && !initial_doc["account"]
|
16
|
+
end
|
17
|
+
|
18
|
+
def account_added?
|
19
|
+
person.account && !initial_doc["account"]
|
20
|
+
end
|
21
|
+
|
14
22
|
end
|
15
23
|
end
|
16
24
|
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
module Eco
|
2
|
+
module API
|
3
|
+
class MicroCases < Eco::API::Common::Session::BaseSession
|
4
|
+
class << self
|
5
|
+
def define(name, &block)
|
6
|
+
name = name.to_sym
|
7
|
+
@helpers[name] = block
|
8
|
+
define_method(name.to_sym, &block)
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
def define(*args)
|
13
|
+
self.class.define(*args)
|
14
|
+
end
|
15
|
+
|
16
|
+
def micro
|
17
|
+
self
|
18
|
+
end
|
19
|
+
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
require_relative 'microcases/core_excluded'
|
25
|
+
require_relative 'microcases/fix_filter_tags'
|
26
|
+
require_relative 'microcases/set_account'
|
27
|
+
require_relative 'microcases/set_core'
|
28
|
+
require_relative 'microcases/set_default_group'
|
29
|
+
require_relative 'microcases/set_default_tag'
|
30
|
+
require_relative 'microcases/set_supervisor'
|
31
|
+
require_relative 'microcases/strict_search'
|