sweet-moon 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
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: []