micro-max-box 0.0.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.
Files changed (55) hide show
  1. checksums.yaml +7 -0
  2. data/aasm-6.0.0/CHANGELOG.md +497 -0
  3. data/aasm-6.0.0/LICENSE +20 -0
  4. data/aasm-6.0.0/README.md +1534 -0
  5. data/aasm-6.0.0/lib/aasm/aasm.rb +208 -0
  6. data/aasm-6.0.0/lib/aasm/base.rb +300 -0
  7. data/aasm-6.0.0/lib/aasm/configuration.rb +48 -0
  8. data/aasm-6.0.0/lib/aasm/core/event.rb +178 -0
  9. data/aasm-6.0.0/lib/aasm/core/invoker.rb +129 -0
  10. data/aasm-6.0.0/lib/aasm/core/invokers/base_invoker.rb +85 -0
  11. data/aasm-6.0.0/lib/aasm/core/invokers/class_invoker.rb +75 -0
  12. data/aasm-6.0.0/lib/aasm/core/invokers/literal_invoker.rb +90 -0
  13. data/aasm-6.0.0/lib/aasm/core/invokers/proc_invoker.rb +94 -0
  14. data/aasm-6.0.0/lib/aasm/core/state.rb +91 -0
  15. data/aasm-6.0.0/lib/aasm/core/transition.rb +83 -0
  16. data/aasm-6.0.0/lib/aasm/dsl_helper.rb +32 -0
  17. data/aasm-6.0.0/lib/aasm/errors.rb +22 -0
  18. data/aasm-6.0.0/lib/aasm/instance_base.rb +153 -0
  19. data/aasm-6.0.0/lib/aasm/localizer.rb +64 -0
  20. data/aasm-6.0.0/lib/aasm/minitest/allow_event.rb +13 -0
  21. data/aasm-6.0.0/lib/aasm/minitest/allow_transition_to.rb +13 -0
  22. data/aasm-6.0.0/lib/aasm/minitest/have_state.rb +13 -0
  23. data/aasm-6.0.0/lib/aasm/minitest/transition_from.rb +21 -0
  24. data/aasm-6.0.0/lib/aasm/minitest.rb +5 -0
  25. data/aasm-6.0.0/lib/aasm/minitest_spec.rb +15 -0
  26. data/aasm-6.0.0/lib/aasm/persistence/active_record_persistence.rb +174 -0
  27. data/aasm-6.0.0/lib/aasm/persistence/base.rb +89 -0
  28. data/aasm-6.0.0/lib/aasm/persistence/core_data_query_persistence.rb +94 -0
  29. data/aasm-6.0.0/lib/aasm/persistence/dynamoid_persistence.rb +92 -0
  30. data/aasm-6.0.0/lib/aasm/persistence/mongoid_persistence.rb +126 -0
  31. data/aasm-6.0.0/lib/aasm/persistence/no_brainer_persistence.rb +105 -0
  32. data/aasm-6.0.0/lib/aasm/persistence/orm.rb +154 -0
  33. data/aasm-6.0.0/lib/aasm/persistence/plain_persistence.rb +26 -0
  34. data/aasm-6.0.0/lib/aasm/persistence/redis_persistence.rb +112 -0
  35. data/aasm-6.0.0/lib/aasm/persistence/sequel_persistence.rb +83 -0
  36. data/aasm-6.0.0/lib/aasm/persistence.rb +54 -0
  37. data/aasm-6.0.0/lib/aasm/rspec/allow_event.rb +26 -0
  38. data/aasm-6.0.0/lib/aasm/rspec/allow_transition_to.rb +26 -0
  39. data/aasm-6.0.0/lib/aasm/rspec/have_state.rb +22 -0
  40. data/aasm-6.0.0/lib/aasm/rspec/transition_from.rb +36 -0
  41. data/aasm-6.0.0/lib/aasm/rspec.rb +5 -0
  42. data/aasm-6.0.0/lib/aasm/state_machine.rb +53 -0
  43. data/aasm-6.0.0/lib/aasm/state_machine_store.rb +77 -0
  44. data/aasm-6.0.0/lib/aasm/version.rb +3 -0
  45. data/aasm-6.0.0/lib/aasm.rb +21 -0
  46. data/aasm-6.0.0/lib/generators/aasm/aasm_generator.rb +16 -0
  47. data/aasm-6.0.0/lib/generators/aasm/orm_helpers.rb +41 -0
  48. data/aasm-6.0.0/lib/generators/active_record/aasm_generator.rb +40 -0
  49. data/aasm-6.0.0/lib/generators/active_record/templates/migration.rb +8 -0
  50. data/aasm-6.0.0/lib/generators/active_record/templates/migration_existing.rb +5 -0
  51. data/aasm-6.0.0/lib/generators/mongoid/aasm_generator.rb +28 -0
  52. data/aasm-6.0.0/lib/generators/nobrainer/aasm_generator.rb +28 -0
  53. data/aasm-6.0.0/lib/motion-aasm.rb +37 -0
  54. data/micro-max-box.gemspec +12 -0
  55. metadata +94 -0
@@ -0,0 +1,21 @@
1
+ require 'aasm/version'
2
+ require 'aasm/errors'
3
+ require 'aasm/configuration'
4
+ require 'aasm/base'
5
+ require 'aasm/dsl_helper'
6
+ require 'aasm/instance_base'
7
+ require 'aasm/core/transition'
8
+ require 'aasm/core/event'
9
+ require 'aasm/core/state'
10
+ require 'aasm/core/invoker'
11
+ require 'aasm/core/invokers/base_invoker'
12
+ require 'aasm/core/invokers/class_invoker'
13
+ require 'aasm/core/invokers/literal_invoker'
14
+ require 'aasm/core/invokers/proc_invoker'
15
+ require 'aasm/localizer'
16
+ require 'aasm/state_machine_store'
17
+ require 'aasm/state_machine'
18
+ require 'aasm/persistence'
19
+ require 'aasm/persistence/base'
20
+ require 'aasm/persistence/plain_persistence'
21
+ require 'aasm/aasm'
@@ -0,0 +1,16 @@
1
+ require 'rails/generators/named_base'
2
+
3
+ module AASM
4
+ module Generators
5
+ class AASMGenerator < Rails::Generators::NamedBase
6
+ namespace "aasm"
7
+ argument :column_name, type: :string, default: 'aasm_state'
8
+
9
+ desc "Generates a model with the given NAME (if one does not exist) with aasm " <<
10
+ "block and migration to add aasm_state column."
11
+
12
+ hook_for :orm
13
+
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,41 @@
1
+ module AASM
2
+ module Generators
3
+ module OrmHelpers
4
+
5
+ def model_contents
6
+ if column_name == 'aasm_state'
7
+ <<RUBY
8
+ include AASM
9
+
10
+ aasm do
11
+ end
12
+ RUBY
13
+ else
14
+ <<RUBY
15
+ include AASM
16
+
17
+ aasm :column => '#{column_name}' do
18
+ end
19
+ RUBY
20
+ end
21
+ end
22
+
23
+ private
24
+
25
+ def column_exists?
26
+ table_name.singularize.humanize.constantize.column_names.include?(column_name.to_s)
27
+ rescue NameError
28
+ false
29
+ end
30
+
31
+ def model_exists?
32
+ File.exist?(File.join(destination_root, model_path))
33
+ end
34
+
35
+ def model_path
36
+ @model_path ||= File.join("app", "models", "#{file_path}.rb")
37
+ end
38
+
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,40 @@
1
+ require 'rails/generators/active_record'
2
+ require 'generators/aasm/orm_helpers'
3
+
4
+ module ActiveRecord
5
+ module Generators
6
+ class AASMGenerator < ActiveRecord::Generators::Base
7
+ include AASM::Generators::OrmHelpers
8
+ namespace "active_record:aasm"
9
+ argument :column_name, type: :string, default: 'aasm_state'
10
+
11
+ source_root File.expand_path("../templates", __FILE__)
12
+
13
+ def copy_aasm_migration
14
+ if column_exists?
15
+ puts "Both model and column exists"
16
+ elsif model_exists?
17
+ migration_template "migration_existing.rb", "db/migrate/add_#{column_name}_to_#{table_name}.rb"
18
+ else
19
+ migration_template "migration.rb", "db/migrate/aasm_create_#{table_name}.rb"
20
+ end
21
+ end
22
+
23
+ def generate_model
24
+ invoke "active_record:model", [name], migration: false unless model_exists?
25
+ end
26
+
27
+ def inject_aasm_content
28
+ content = model_contents
29
+
30
+ class_path = if namespaced?
31
+ class_name.to_s.split("::")
32
+ else
33
+ [class_name]
34
+ end
35
+ inject_into_class(model_path, class_path.last, content) if model_exists?
36
+ end
37
+
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,8 @@
1
+ class AasmCreate<%= table_name.camelize %> < ActiveRecord::Migration[<%= ActiveRecord::VERSION::STRING.to_f %>]
2
+ def change
3
+ create_table(:<%= table_name %>) do |t|
4
+ t.string :<%= column_name %>
5
+ t.timestamps null: false
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,5 @@
1
+ class Add<%= column_name.camelize %>To<%= table_name.camelize %> < ActiveRecord::Migration[<%= ActiveRecord::VERSION::STRING.to_f %>]
2
+ def change
3
+ add_column :<%= table_name %>, :<%= column_name %>, :string
4
+ end
5
+ end
@@ -0,0 +1,28 @@
1
+ require 'rails/generators/named_base'
2
+ require 'generators/aasm/orm_helpers'
3
+
4
+ module Mongoid
5
+ module Generators
6
+ class AASMGenerator < Rails::Generators::NamedBase
7
+ include AASM::Generators::OrmHelpers
8
+ namespace "mongoid:aasm"
9
+ argument :column_name, type: :string, default: 'aasm_state'
10
+
11
+ def generate_model
12
+ invoke "mongoid:model", [name] unless model_exists?
13
+ end
14
+
15
+ def inject_aasm_content
16
+ inject_into_file model_path, model_contents, after: "include Mongoid::Document\n" if model_exists?
17
+ end
18
+
19
+ def inject_field_types
20
+ inject_into_file model_path, migration_data, after: "include Mongoid::Document\n" if model_exists?
21
+ end
22
+
23
+ def migration_data
24
+ " field :#{column_name}"
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,28 @@
1
+ require 'rails/generators/named_base'
2
+ require 'generators/aasm/orm_helpers'
3
+
4
+ module NoBrainer
5
+ module Generators
6
+ class AASMGenerator < Rails::Generators::NamedBase
7
+ include AASM::Generators::OrmHelpers
8
+ namespace 'nobrainer:aasm'
9
+ argument :column_name, type: :string, default: 'aasm_state'
10
+
11
+ def generate_model
12
+ invoke 'nobrainer:model', [name] unless model_exists?
13
+ end
14
+
15
+ def inject_aasm_content
16
+ inject_into_file model_path, model_contents, after: "include NoBrainer::Document::Timestamps\n" if model_exists?
17
+ end
18
+
19
+ def inject_field_types
20
+ inject_into_file model_path, migration_data, after: "include NoBrainer::Document::Timestamps\n" if model_exists?
21
+ end
22
+
23
+ def migration_data
24
+ " field :#{column_name}"
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,37 @@
1
+ unless defined?(Motion::Project::App)
2
+ raise "This must be required from within a RubyMotion Rakefile"
3
+ end
4
+
5
+ file_dependencies = {
6
+ 'aasm/aasm.rb' => ['aasm/persistence.rb'],
7
+ 'aasm/persistence.rb' => ['aasm/persistence/plain_persistence.rb', 'aasm/persistence/core_data_query_persistence.rb'],
8
+ 'aasm/persistence/base.rb' => ['aasm/base.rb'],
9
+ 'aasm/persistence/core_data_query_persistence.rb' => ['aasm/persistence/base.rb']
10
+ }
11
+
12
+ exclude_files = [
13
+ 'aasm/rspec.*',
14
+ 'aasm/minitest.*',
15
+ 'aasm/minitest_spec.*',
16
+ 'aasm/persistence/active_record_persistence.rb',
17
+ 'aasm/persistence/dynamoid_persistence.rb',
18
+ 'aasm/persistence/mongoid_persistence.rb',
19
+ 'aasm/persistence/no_brainer_persistence.rb',
20
+ 'aasm/persistence/sequel_persistence.rb',
21
+ 'aasm/persistence/redis_persistence.rb'
22
+ ]
23
+
24
+ Motion::Project::App.setup do |app|
25
+ parent = File.expand_path File.dirname(__FILE__)
26
+
27
+ app.files.unshift Dir.glob(File.join(parent, "aasm/**/*.rb")).reject { |file| exclude_files.any? { |exclude| file.match(exclude) } }
28
+
29
+ app.files_dependencies file_dependencies.inject({}, &->(file_dependencies, (file, *dependencies)) do
30
+ file = File.join(parent, file)
31
+ dependencies = dependencies.flatten(1).map do |dependency|
32
+ File.join(parent, dependency)
33
+ end
34
+
35
+ file_dependencies.merge({ file => dependencies })
36
+ end)
37
+ end
@@ -0,0 +1,12 @@
1
+ Gem::Specification.new do |s|
2
+ s.name = "micro-max-box"
3
+ s.version = "0.0.1"
4
+ s.summary = "Research test"
5
+ s.description = "University research based on aasm"
6
+ s.authors = ["Andrey78"]
7
+ s.email = ["cakoc614@gmail.com"]
8
+ s.files = Dir.glob("**/*").reject { |f| f.end_with?('.gem') }
9
+ s.homepage = "https://rubygems.org/profiles/Andrey78"
10
+ s.license = "MIT"
11
+ s.metadata = { "source_code_uri" => "https://github.com/Andrey78/micro-max-box" }
12
+ end
metadata ADDED
@@ -0,0 +1,94 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: micro-max-box
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Andrey78
8
+ bindir: bin
9
+ cert_chain: []
10
+ date: 2026-07-06 00:00:00.000000000 Z
11
+ dependencies: []
12
+ description: University research based on aasm
13
+ email:
14
+ - cakoc614@gmail.com
15
+ executables: []
16
+ extensions: []
17
+ extra_rdoc_files: []
18
+ files:
19
+ - aasm-6.0.0/CHANGELOG.md
20
+ - aasm-6.0.0/LICENSE
21
+ - aasm-6.0.0/README.md
22
+ - aasm-6.0.0/lib/aasm.rb
23
+ - aasm-6.0.0/lib/aasm/aasm.rb
24
+ - aasm-6.0.0/lib/aasm/base.rb
25
+ - aasm-6.0.0/lib/aasm/configuration.rb
26
+ - aasm-6.0.0/lib/aasm/core/event.rb
27
+ - aasm-6.0.0/lib/aasm/core/invoker.rb
28
+ - aasm-6.0.0/lib/aasm/core/invokers/base_invoker.rb
29
+ - aasm-6.0.0/lib/aasm/core/invokers/class_invoker.rb
30
+ - aasm-6.0.0/lib/aasm/core/invokers/literal_invoker.rb
31
+ - aasm-6.0.0/lib/aasm/core/invokers/proc_invoker.rb
32
+ - aasm-6.0.0/lib/aasm/core/state.rb
33
+ - aasm-6.0.0/lib/aasm/core/transition.rb
34
+ - aasm-6.0.0/lib/aasm/dsl_helper.rb
35
+ - aasm-6.0.0/lib/aasm/errors.rb
36
+ - aasm-6.0.0/lib/aasm/instance_base.rb
37
+ - aasm-6.0.0/lib/aasm/localizer.rb
38
+ - aasm-6.0.0/lib/aasm/minitest.rb
39
+ - aasm-6.0.0/lib/aasm/minitest/allow_event.rb
40
+ - aasm-6.0.0/lib/aasm/minitest/allow_transition_to.rb
41
+ - aasm-6.0.0/lib/aasm/minitest/have_state.rb
42
+ - aasm-6.0.0/lib/aasm/minitest/transition_from.rb
43
+ - aasm-6.0.0/lib/aasm/minitest_spec.rb
44
+ - aasm-6.0.0/lib/aasm/persistence.rb
45
+ - aasm-6.0.0/lib/aasm/persistence/active_record_persistence.rb
46
+ - aasm-6.0.0/lib/aasm/persistence/base.rb
47
+ - aasm-6.0.0/lib/aasm/persistence/core_data_query_persistence.rb
48
+ - aasm-6.0.0/lib/aasm/persistence/dynamoid_persistence.rb
49
+ - aasm-6.0.0/lib/aasm/persistence/mongoid_persistence.rb
50
+ - aasm-6.0.0/lib/aasm/persistence/no_brainer_persistence.rb
51
+ - aasm-6.0.0/lib/aasm/persistence/orm.rb
52
+ - aasm-6.0.0/lib/aasm/persistence/plain_persistence.rb
53
+ - aasm-6.0.0/lib/aasm/persistence/redis_persistence.rb
54
+ - aasm-6.0.0/lib/aasm/persistence/sequel_persistence.rb
55
+ - aasm-6.0.0/lib/aasm/rspec.rb
56
+ - aasm-6.0.0/lib/aasm/rspec/allow_event.rb
57
+ - aasm-6.0.0/lib/aasm/rspec/allow_transition_to.rb
58
+ - aasm-6.0.0/lib/aasm/rspec/have_state.rb
59
+ - aasm-6.0.0/lib/aasm/rspec/transition_from.rb
60
+ - aasm-6.0.0/lib/aasm/state_machine.rb
61
+ - aasm-6.0.0/lib/aasm/state_machine_store.rb
62
+ - aasm-6.0.0/lib/aasm/version.rb
63
+ - aasm-6.0.0/lib/generators/aasm/aasm_generator.rb
64
+ - aasm-6.0.0/lib/generators/aasm/orm_helpers.rb
65
+ - aasm-6.0.0/lib/generators/active_record/aasm_generator.rb
66
+ - aasm-6.0.0/lib/generators/active_record/templates/migration.rb
67
+ - aasm-6.0.0/lib/generators/active_record/templates/migration_existing.rb
68
+ - aasm-6.0.0/lib/generators/mongoid/aasm_generator.rb
69
+ - aasm-6.0.0/lib/generators/nobrainer/aasm_generator.rb
70
+ - aasm-6.0.0/lib/motion-aasm.rb
71
+ - micro-max-box.gemspec
72
+ homepage: https://rubygems.org/profiles/Andrey78
73
+ licenses:
74
+ - MIT
75
+ metadata:
76
+ source_code_uri: https://github.com/Andrey78/micro-max-box
77
+ rdoc_options: []
78
+ require_paths:
79
+ - lib
80
+ required_ruby_version: !ruby/object:Gem::Requirement
81
+ requirements:
82
+ - - ">="
83
+ - !ruby/object:Gem::Version
84
+ version: '0'
85
+ required_rubygems_version: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ requirements: []
91
+ rubygems_version: 3.6.2
92
+ specification_version: 4
93
+ summary: Research test
94
+ test_files: []