sweet-moon 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 (70) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +2 -0
  3. data/.rspec +1 -0
  4. data/.rubocop.yml +40 -0
  5. data/Gemfile +12 -0
  6. data/Gemfile.lock +61 -0
  7. data/README.md +1149 -0
  8. data/components/api.rb +83 -0
  9. data/components/injections/injections_503.rb +21 -0
  10. data/components/injections/injections_514.rb +29 -0
  11. data/components/injections/injections_542.rb +49 -0
  12. data/components/injections.rb +11 -0
  13. data/components/interpreters/50/function.rb +52 -0
  14. data/components/interpreters/50/interpreter.rb +105 -0
  15. data/components/interpreters/50/reader.rb +65 -0
  16. data/components/interpreters/50/table.rb +99 -0
  17. data/components/interpreters/50/writer.rb +45 -0
  18. data/components/interpreters/51/function.rb +52 -0
  19. data/components/interpreters/51/interpreter.rb +104 -0
  20. data/components/interpreters/51/reader.rb +65 -0
  21. data/components/interpreters/51/table.rb +60 -0
  22. data/components/interpreters/51/writer.rb +45 -0
  23. data/components/interpreters/54/function.rb +52 -0
  24. data/components/interpreters/54/interpreter.rb +100 -0
  25. data/components/interpreters/54/reader.rb +65 -0
  26. data/components/interpreters/54/table.rb +60 -0
  27. data/components/interpreters/54/writer.rb +45 -0
  28. data/components/interpreters.rb +11 -0
  29. data/components/io.rb +11 -0
  30. data/config/tests.sample.yml +15 -0
  31. data/controllers/api.rb +143 -0
  32. data/controllers/cli/cli.rb +32 -0
  33. data/controllers/cli/help.rb +24 -0
  34. data/controllers/cli/signatures.rb +179 -0
  35. data/controllers/cli/version.rb +14 -0
  36. data/controllers/interpreter.rb +68 -0
  37. data/controllers/state.rb +74 -0
  38. data/dsl/api.rb +31 -0
  39. data/dsl/cache.rb +118 -0
  40. data/dsl/concerns/fennel.rb +13 -0
  41. data/dsl/concerns/packages.rb +37 -0
  42. data/dsl/errors.rb +28 -0
  43. data/dsl/fennel.rb +47 -0
  44. data/dsl/global.rb +42 -0
  45. data/dsl/state.rb +104 -0
  46. data/dsl/sweet_moon.rb +53 -0
  47. data/logic/api.rb +17 -0
  48. data/logic/interpreter.rb +84 -0
  49. data/logic/interpreters/interpreter_50.rb +34 -0
  50. data/logic/interpreters/interpreter_51.rb +37 -0
  51. data/logic/interpreters/interpreter_54.rb +41 -0
  52. data/logic/io.rb +6 -0
  53. data/logic/options.rb +14 -0
  54. data/logic/shared_object.rb +52 -0
  55. data/logic/signature.rb +258 -0
  56. data/logic/signatures/ffi_types.rb +27 -0
  57. data/logic/signatures/signatures_322.rb +418 -0
  58. data/logic/signatures/signatures_401.rb +243 -0
  59. data/logic/signatures/signatures_503.rb +575 -0
  60. data/logic/signatures/signatures_514.rb +460 -0
  61. data/logic/signatures/signatures_542.rb +591 -0
  62. data/logic/spec.rb +13 -0
  63. data/logic/tables.rb +32 -0
  64. data/ports/in/dsl/sweet-moon/errors.rb +3 -0
  65. data/ports/in/dsl/sweet-moon.rb +1 -0
  66. data/ports/in/shell/sweet-moon +5 -0
  67. data/ports/in/shell.rb +21 -0
  68. data/ports/out/shell.rb +9 -0
  69. data/sweet-moon.gemspec +35 -0
  70. metadata +137 -0
@@ -0,0 +1,5 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require_relative '../shell'
4
+
5
+ Port::In::Shell[:handle!].()
data/ports/in/shell.rb ADDED
@@ -0,0 +1,21 @@
1
+ require_relative '../../controllers/cli/version'
2
+ require_relative '../../controllers/cli/help'
3
+ require_relative '../../controllers/cli/signatures'
4
+ require_relative '../../controllers/cli/cli'
5
+
6
+ module Port
7
+ module In
8
+ Shell = {
9
+ handle!: -> {
10
+ case ARGV.first
11
+ when 'version' then Controller::CLI::Version[:handle!].()
12
+ when 'signatures' then Controller::CLI::Signatures[:handle!].(ARGV[1],
13
+ ARGV[2])
14
+ when 'lua' then Controller::CLI::CLI[:handle!].(ARGV[1..-1])
15
+ when 'fennel' then Controller::CLI::CLI[:handle!].(ARGV[1..-1], true)
16
+ else; Controller::CLI::Help[:handle!].()
17
+ end
18
+ }
19
+ }
20
+ end
21
+ end
@@ -0,0 +1,9 @@
1
+ module Port
2
+ module Out
3
+ Shell = {
4
+ dispatch!: ->(message) {
5
+ puts message
6
+ }
7
+ }
8
+ end
9
+ end
@@ -0,0 +1,35 @@
1
+ require_relative 'logic/spec'
2
+
3
+ Gem::Specification.new do |spec|
4
+ spec.name = Logic::Spec[:name]
5
+ spec.version = Logic::Spec[:version]
6
+ spec.authors = [Logic::Spec[:author]]
7
+
8
+ spec.summary = Logic::Spec[:summary]
9
+ spec.description = Logic::Spec[:description]
10
+
11
+ spec.homepage = Logic::Spec[:github]
12
+
13
+ spec.license = Logic::Spec[:license]
14
+
15
+ spec.required_ruby_version = Gem::Requirement.new('>= 2.5.0')
16
+
17
+ spec.metadata['allowed_push_host'] = 'https://rubygems.org'
18
+
19
+ spec.metadata['homepage_uri'] = spec.homepage
20
+ spec.metadata['source_code_uri'] = Logic::Spec[:github]
21
+
22
+ spec.files = Dir.chdir(File.expand_path(__dir__)) do
23
+ `git ls-files -z`.split("\x0").reject do |f|
24
+ f.match(%r{\A(?:test|spec|features)/})
25
+ end
26
+ end
27
+
28
+ spec.require_paths = %w[ports/in/dsl ports/in/shell]
29
+ spec.bindir = 'ports/in/shell'
30
+ spec.executables = %w[sweet-moon]
31
+
32
+ spec.add_dependency 'ffi', '~> 1.15', '>= 1.15.5'
33
+
34
+ spec.metadata['rubygems_mfa_required'] = 'true'
35
+ end
metadata ADDED
@@ -0,0 +1,137 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: sweet-moon
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - gbaptista
8
+ autorequire:
9
+ bindir: ports/in/shell
10
+ cert_chain: []
11
+ date: 2022-03-20 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: ffi
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.15'
20
+ - - ">="
21
+ - !ruby/object:Gem::Version
22
+ version: 1.15.5
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - "~>"
28
+ - !ruby/object:Gem::Version
29
+ version: '1.15'
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: 1.15.5
33
+ description: A resilient solution that makes working with Lua / Fennel from Ruby and
34
+ vice versa a delightful experience.
35
+ email:
36
+ executables:
37
+ - sweet-moon
38
+ extensions: []
39
+ extra_rdoc_files: []
40
+ files:
41
+ - ".gitignore"
42
+ - ".rspec"
43
+ - ".rubocop.yml"
44
+ - Gemfile
45
+ - Gemfile.lock
46
+ - README.md
47
+ - components/api.rb
48
+ - components/injections.rb
49
+ - components/injections/injections_503.rb
50
+ - components/injections/injections_514.rb
51
+ - components/injections/injections_542.rb
52
+ - components/interpreters.rb
53
+ - components/interpreters/50/function.rb
54
+ - components/interpreters/50/interpreter.rb
55
+ - components/interpreters/50/reader.rb
56
+ - components/interpreters/50/table.rb
57
+ - components/interpreters/50/writer.rb
58
+ - components/interpreters/51/function.rb
59
+ - components/interpreters/51/interpreter.rb
60
+ - components/interpreters/51/reader.rb
61
+ - components/interpreters/51/table.rb
62
+ - components/interpreters/51/writer.rb
63
+ - components/interpreters/54/function.rb
64
+ - components/interpreters/54/interpreter.rb
65
+ - components/interpreters/54/reader.rb
66
+ - components/interpreters/54/table.rb
67
+ - components/interpreters/54/writer.rb
68
+ - components/io.rb
69
+ - config/tests.sample.yml
70
+ - controllers/api.rb
71
+ - controllers/cli/cli.rb
72
+ - controllers/cli/help.rb
73
+ - controllers/cli/signatures.rb
74
+ - controllers/cli/version.rb
75
+ - controllers/interpreter.rb
76
+ - controllers/state.rb
77
+ - dsl/api.rb
78
+ - dsl/cache.rb
79
+ - dsl/concerns/fennel.rb
80
+ - dsl/concerns/packages.rb
81
+ - dsl/errors.rb
82
+ - dsl/fennel.rb
83
+ - dsl/global.rb
84
+ - dsl/state.rb
85
+ - dsl/sweet_moon.rb
86
+ - logic/api.rb
87
+ - logic/interpreter.rb
88
+ - logic/interpreters/interpreter_50.rb
89
+ - logic/interpreters/interpreter_51.rb
90
+ - logic/interpreters/interpreter_54.rb
91
+ - logic/io.rb
92
+ - logic/options.rb
93
+ - logic/shared_object.rb
94
+ - logic/signature.rb
95
+ - logic/signatures/ffi_types.rb
96
+ - logic/signatures/signatures_322.rb
97
+ - logic/signatures/signatures_401.rb
98
+ - logic/signatures/signatures_503.rb
99
+ - logic/signatures/signatures_514.rb
100
+ - logic/signatures/signatures_542.rb
101
+ - logic/spec.rb
102
+ - logic/tables.rb
103
+ - ports/in/dsl/sweet-moon.rb
104
+ - ports/in/dsl/sweet-moon/errors.rb
105
+ - ports/in/shell.rb
106
+ - ports/in/shell/sweet-moon
107
+ - ports/out/shell.rb
108
+ - sweet-moon.gemspec
109
+ homepage: https://github.com/gbaptista/sweet-moon
110
+ licenses:
111
+ - MIT
112
+ metadata:
113
+ allowed_push_host: https://rubygems.org
114
+ homepage_uri: https://github.com/gbaptista/sweet-moon
115
+ source_code_uri: https://github.com/gbaptista/sweet-moon
116
+ rubygems_mfa_required: 'true'
117
+ post_install_message:
118
+ rdoc_options: []
119
+ require_paths:
120
+ - ports/in/dsl
121
+ - ports/in/shell
122
+ required_ruby_version: !ruby/object:Gem::Requirement
123
+ requirements:
124
+ - - ">="
125
+ - !ruby/object:Gem::Version
126
+ version: 2.5.0
127
+ required_rubygems_version: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ">="
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
132
+ requirements: []
133
+ rubygems_version: 3.2.3
134
+ signing_key:
135
+ specification_version: 4
136
+ summary: Lua / Fennel from Ruby and vice versa.
137
+ test_files: []