lex-bedrock 0.1.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 +7 -0
- data/.github/workflows/ci.yml +16 -0
- data/.gitignore +12 -0
- data/.rspec +3 -0
- data/.rubocop.yml +51 -0
- data/CHANGELOG.md +12 -0
- data/Gemfile +7 -0
- data/README.md +62 -0
- data/lex-bedrock.gemspec +31 -0
- data/lib/legion/extensions/bedrock/client.rb +25 -0
- data/lib/legion/extensions/bedrock/helpers/client.rb +42 -0
- data/lib/legion/extensions/bedrock/runners/converse.rb +43 -0
- data/lib/legion/extensions/bedrock/runners/invoke.rb +39 -0
- data/lib/legion/extensions/bedrock/runners/models.rb +36 -0
- data/lib/legion/extensions/bedrock/version.rb +9 -0
- data/lib/legion/extensions/bedrock.rb +15 -0
- metadata +89 -0
checksums.yaml
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
---
|
|
2
|
+
SHA256:
|
|
3
|
+
metadata.gz: 2143094bd8222adb62e51ac6548e82771a77186e59496993a1960e51c433de8b
|
|
4
|
+
data.tar.gz: 830eb21aac385a64755e418773263966c05d464229715057ddafe77b8ba5f8af
|
|
5
|
+
SHA512:
|
|
6
|
+
metadata.gz: 63048c5e14420b13e1fcf5c7def1d23fe4f247e09ea9f7dfe3d333b8ca269950398ad1b7cadc3e96b547f857b604df5e92fd854a211f6b445973309fec613c79
|
|
7
|
+
data.tar.gz: 035fff2df7b594bd0c65c42bda4fed599632428890023968967f630eab3103b5f7b4ff96897b2ef0c38cc3a546463ba48e6b60c425a82d6897ffd9adde2308fd
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
name: CI
|
|
2
|
+
on:
|
|
3
|
+
push:
|
|
4
|
+
branches: [origin]
|
|
5
|
+
pull_request:
|
|
6
|
+
|
|
7
|
+
jobs:
|
|
8
|
+
ci:
|
|
9
|
+
uses: LegionIO/.github/.github/workflows/ci.yml@main
|
|
10
|
+
|
|
11
|
+
release:
|
|
12
|
+
needs: ci
|
|
13
|
+
if: github.event_name == 'push' && github.ref == 'refs/heads/origin'
|
|
14
|
+
uses: LegionIO/.github/.github/workflows/release.yml@main
|
|
15
|
+
secrets:
|
|
16
|
+
rubygems-api-key: ${{ secrets.RUBYGEMS_API_KEY }}
|
data/.gitignore
ADDED
data/.rspec
ADDED
data/.rubocop.yml
ADDED
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
AllCops:
|
|
2
|
+
TargetRubyVersion: 3.4
|
|
3
|
+
NewCops: enable
|
|
4
|
+
SuggestExtensions: false
|
|
5
|
+
|
|
6
|
+
Layout/LineLength:
|
|
7
|
+
Max: 160
|
|
8
|
+
|
|
9
|
+
Layout/SpaceAroundEqualsInParameterDefault:
|
|
10
|
+
EnforcedStyle: space
|
|
11
|
+
|
|
12
|
+
Layout/HashAlignment:
|
|
13
|
+
EnforcedHashRocketStyle: table
|
|
14
|
+
EnforcedColonStyle: table
|
|
15
|
+
|
|
16
|
+
Metrics/MethodLength:
|
|
17
|
+
Max: 50
|
|
18
|
+
|
|
19
|
+
Metrics/ClassLength:
|
|
20
|
+
Max: 1500
|
|
21
|
+
|
|
22
|
+
Metrics/ModuleLength:
|
|
23
|
+
Max: 1500
|
|
24
|
+
|
|
25
|
+
Metrics/BlockLength:
|
|
26
|
+
Max: 40
|
|
27
|
+
Exclude:
|
|
28
|
+
- 'spec/**/*'
|
|
29
|
+
- '*.gemspec'
|
|
30
|
+
|
|
31
|
+
Metrics/AbcSize:
|
|
32
|
+
Max: 60
|
|
33
|
+
|
|
34
|
+
Metrics/CyclomaticComplexity:
|
|
35
|
+
Max: 15
|
|
36
|
+
|
|
37
|
+
Metrics/PerceivedComplexity:
|
|
38
|
+
Max: 17
|
|
39
|
+
|
|
40
|
+
Style/Documentation:
|
|
41
|
+
Enabled: false
|
|
42
|
+
|
|
43
|
+
Style/SymbolArray:
|
|
44
|
+
Enabled: true
|
|
45
|
+
|
|
46
|
+
Style/FrozenStringLiteralComment:
|
|
47
|
+
Enabled: true
|
|
48
|
+
EnforcedStyle: always
|
|
49
|
+
|
|
50
|
+
Naming/FileName:
|
|
51
|
+
Enabled: false
|
data/CHANGELOG.md
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
## [0.1.0] - 2026-03-21
|
|
4
|
+
|
|
5
|
+
### Added
|
|
6
|
+
- Initial release of lex-bedrock
|
|
7
|
+
- `Helpers::Client` module with `bedrock_client` and `bedrock_runtime_client` factory methods
|
|
8
|
+
- `Runners::Models` with `list` (ListFoundationModels) and `get` (GetFoundationModel)
|
|
9
|
+
- `Runners::Converse` with `create` using the Converse API (messages-style interface)
|
|
10
|
+
- `Runners::Invoke` with `invoke_model` using the raw InvokeModel API
|
|
11
|
+
- Standalone `Client` class including all runner modules with persistent config
|
|
12
|
+
- Support for optional `session_token` for assumed-role credentials
|
data/Gemfile
ADDED
data/README.md
ADDED
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
# lex-bedrock
|
|
2
|
+
|
|
3
|
+
Legion Extension (LEX) that connects LegionIO to AWS Bedrock for foundation model inference.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
Add to your Gemfile:
|
|
8
|
+
|
|
9
|
+
```ruby
|
|
10
|
+
gem 'lex-bedrock'
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
## Configuration
|
|
14
|
+
|
|
15
|
+
AWS credentials are required:
|
|
16
|
+
|
|
17
|
+
- `access_key_id` — AWS access key ID
|
|
18
|
+
- `secret_access_key` — AWS secret access key
|
|
19
|
+
- `region` — AWS region (default: `us-east-2`)
|
|
20
|
+
- `session_token` — optional, for assumed roles
|
|
21
|
+
|
|
22
|
+
## Usage
|
|
23
|
+
|
|
24
|
+
### Standalone Client
|
|
25
|
+
|
|
26
|
+
```ruby
|
|
27
|
+
client = Legion::Extensions::Bedrock::Client.new(
|
|
28
|
+
access_key_id: 'AKIA...',
|
|
29
|
+
secret_access_key: 'secret',
|
|
30
|
+
region: 'us-east-2'
|
|
31
|
+
)
|
|
32
|
+
|
|
33
|
+
# List foundation models
|
|
34
|
+
result = client.list
|
|
35
|
+
# => { models: [...] }
|
|
36
|
+
|
|
37
|
+
# Converse API
|
|
38
|
+
result = client.create(
|
|
39
|
+
model_id: 'anthropic.claude-3-5-sonnet-20241022-v2:0',
|
|
40
|
+
messages: [{ role: 'user', content: [{ text: 'Hello' }] }]
|
|
41
|
+
)
|
|
42
|
+
# => { result: ..., usage: ..., stop_reason: 'end_turn' }
|
|
43
|
+
|
|
44
|
+
# Raw InvokeModel
|
|
45
|
+
result = client.invoke_model(
|
|
46
|
+
model_id: 'anthropic.claude-3-5-sonnet-20241022-v2:0',
|
|
47
|
+
body: { prompt: 'Hello', max_tokens: 256 }
|
|
48
|
+
)
|
|
49
|
+
# => { result: { ... }, content_type: 'application/json' }
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
### Runner Modules
|
|
53
|
+
|
|
54
|
+
```ruby
|
|
55
|
+
include Legion::Extensions::Bedrock::Runners::Models
|
|
56
|
+
include Legion::Extensions::Bedrock::Runners::Converse
|
|
57
|
+
include Legion::Extensions::Bedrock::Runners::Invoke
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
## License
|
|
61
|
+
|
|
62
|
+
MIT
|
data/lex-bedrock.gemspec
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require_relative 'lib/legion/extensions/bedrock/version'
|
|
4
|
+
|
|
5
|
+
Gem::Specification.new do |spec|
|
|
6
|
+
spec.name = 'lex-bedrock'
|
|
7
|
+
spec.version = Legion::Extensions::Bedrock::VERSION
|
|
8
|
+
spec.authors = ['Esity']
|
|
9
|
+
spec.email = ['matthewdiverson@gmail.com']
|
|
10
|
+
|
|
11
|
+
spec.summary = 'LEX Bedrock'
|
|
12
|
+
spec.description = 'Connects LegionIO to AWS Bedrock for foundation model inference'
|
|
13
|
+
spec.homepage = 'https://github.com/LegionIO/lex-bedrock'
|
|
14
|
+
spec.license = 'MIT'
|
|
15
|
+
spec.required_ruby_version = '>= 3.4'
|
|
16
|
+
|
|
17
|
+
spec.metadata['homepage_uri'] = spec.homepage
|
|
18
|
+
spec.metadata['source_code_uri'] = 'https://github.com/LegionIO/lex-bedrock'
|
|
19
|
+
spec.metadata['documentation_uri'] = 'https://github.com/LegionIO/lex-bedrock'
|
|
20
|
+
spec.metadata['changelog_uri'] = 'https://github.com/LegionIO/lex-bedrock'
|
|
21
|
+
spec.metadata['bug_tracker_uri'] = 'https://github.com/LegionIO/lex-bedrock/issues'
|
|
22
|
+
spec.metadata['rubygems_mfa_required'] = 'true'
|
|
23
|
+
|
|
24
|
+
spec.files = Dir.chdir(File.expand_path(__dir__)) do
|
|
25
|
+
`git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
|
|
26
|
+
end
|
|
27
|
+
spec.require_paths = ['lib']
|
|
28
|
+
|
|
29
|
+
spec.add_dependency 'aws-sdk-bedrock'
|
|
30
|
+
spec.add_dependency 'aws-sdk-bedrockruntime'
|
|
31
|
+
end
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'legion/extensions/bedrock/helpers/client'
|
|
4
|
+
require 'legion/extensions/bedrock/runners/models'
|
|
5
|
+
require 'legion/extensions/bedrock/runners/converse'
|
|
6
|
+
require 'legion/extensions/bedrock/runners/invoke'
|
|
7
|
+
|
|
8
|
+
module Legion
|
|
9
|
+
module Extensions
|
|
10
|
+
module Bedrock
|
|
11
|
+
class Client
|
|
12
|
+
include Legion::Extensions::Bedrock::Runners::Models
|
|
13
|
+
include Legion::Extensions::Bedrock::Runners::Converse
|
|
14
|
+
include Legion::Extensions::Bedrock::Runners::Invoke
|
|
15
|
+
|
|
16
|
+
attr_reader :config
|
|
17
|
+
|
|
18
|
+
def initialize(access_key_id:, secret_access_key:, region: Helpers::Client::DEFAULT_REGION, **opts)
|
|
19
|
+
@config = { access_key_id: access_key_id, secret_access_key: secret_access_key,
|
|
20
|
+
region: region, **opts }
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'aws-sdk-bedrock'
|
|
4
|
+
require 'aws-sdk-bedrockruntime'
|
|
5
|
+
|
|
6
|
+
module Legion
|
|
7
|
+
module Extensions
|
|
8
|
+
module Bedrock
|
|
9
|
+
module Helpers
|
|
10
|
+
module Client
|
|
11
|
+
DEFAULT_REGION = 'us-east-2'
|
|
12
|
+
|
|
13
|
+
module_function
|
|
14
|
+
|
|
15
|
+
def bedrock_runtime_client(access_key_id:, secret_access_key:, region: DEFAULT_REGION,
|
|
16
|
+
session_token: nil, **)
|
|
17
|
+
opts = {
|
|
18
|
+
access_key_id: access_key_id,
|
|
19
|
+
secret_access_key: secret_access_key,
|
|
20
|
+
region: region
|
|
21
|
+
}
|
|
22
|
+
opts[:session_token] = session_token if session_token
|
|
23
|
+
|
|
24
|
+
Aws::BedrockRuntime::Client.new(**opts)
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
def bedrock_client(access_key_id:, secret_access_key:, region: DEFAULT_REGION,
|
|
28
|
+
session_token: nil, **)
|
|
29
|
+
opts = {
|
|
30
|
+
access_key_id: access_key_id,
|
|
31
|
+
secret_access_key: secret_access_key,
|
|
32
|
+
region: region
|
|
33
|
+
}
|
|
34
|
+
opts[:session_token] = session_token if session_token
|
|
35
|
+
|
|
36
|
+
Aws::Bedrock::Client.new(**opts)
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
end
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'legion/extensions/bedrock/helpers/client'
|
|
4
|
+
|
|
5
|
+
module Legion
|
|
6
|
+
module Extensions
|
|
7
|
+
module Bedrock
|
|
8
|
+
module Runners
|
|
9
|
+
module Converse
|
|
10
|
+
def create(model_id:, messages:, access_key_id:, secret_access_key:, # rubocop:disable Metrics/ParameterLists
|
|
11
|
+
system: nil, max_tokens: 1024, temperature: nil,
|
|
12
|
+
region: Helpers::Client::DEFAULT_REGION, **)
|
|
13
|
+
client = Helpers::Client.bedrock_runtime_client(
|
|
14
|
+
access_key_id: access_key_id,
|
|
15
|
+
secret_access_key: secret_access_key,
|
|
16
|
+
region: region
|
|
17
|
+
)
|
|
18
|
+
|
|
19
|
+
inference_config = { max_tokens: max_tokens }
|
|
20
|
+
inference_config[:temperature] = temperature if temperature
|
|
21
|
+
|
|
22
|
+
request = {
|
|
23
|
+
model_id: model_id,
|
|
24
|
+
messages: messages,
|
|
25
|
+
inference_config: inference_config
|
|
26
|
+
}
|
|
27
|
+
request[:system] = [{ text: system }] if system
|
|
28
|
+
|
|
29
|
+
response = client.converse(**request)
|
|
30
|
+
{
|
|
31
|
+
result: response.output,
|
|
32
|
+
usage: response.usage,
|
|
33
|
+
stop_reason: response.stop_reason
|
|
34
|
+
}
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
include Legion::Extensions::Helpers::Lex if Legion::Extensions.const_defined?(:Helpers) &&
|
|
38
|
+
Legion::Extensions::Helpers.const_defined?(:Lex)
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
end
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'json'
|
|
4
|
+
require 'legion/extensions/bedrock/helpers/client'
|
|
5
|
+
|
|
6
|
+
module Legion
|
|
7
|
+
module Extensions
|
|
8
|
+
module Bedrock
|
|
9
|
+
module Runners
|
|
10
|
+
module Invoke
|
|
11
|
+
def invoke_model(model_id:, body:, access_key_id:, secret_access_key:, # rubocop:disable Metrics/ParameterLists
|
|
12
|
+
content_type: 'application/json', accept: 'application/json',
|
|
13
|
+
region: Helpers::Client::DEFAULT_REGION, **)
|
|
14
|
+
client = Helpers::Client.bedrock_runtime_client(
|
|
15
|
+
access_key_id: access_key_id,
|
|
16
|
+
secret_access_key: secret_access_key,
|
|
17
|
+
region: region
|
|
18
|
+
)
|
|
19
|
+
|
|
20
|
+
response = client.invoke_model(
|
|
21
|
+
model_id: model_id,
|
|
22
|
+
body: ::JSON.dump(body),
|
|
23
|
+
content_type: content_type,
|
|
24
|
+
accept: accept
|
|
25
|
+
)
|
|
26
|
+
|
|
27
|
+
{
|
|
28
|
+
result: ::JSON.parse(response.body.read),
|
|
29
|
+
content_type: response.content_type
|
|
30
|
+
}
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
include Legion::Extensions::Helpers::Lex if Legion::Extensions.const_defined?(:Helpers) &&
|
|
34
|
+
Legion::Extensions::Helpers.const_defined?(:Lex)
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'legion/extensions/bedrock/helpers/client'
|
|
4
|
+
|
|
5
|
+
module Legion
|
|
6
|
+
module Extensions
|
|
7
|
+
module Bedrock
|
|
8
|
+
module Runners
|
|
9
|
+
module Models
|
|
10
|
+
def list(access_key_id:, secret_access_key:, region: Helpers::Client::DEFAULT_REGION, **)
|
|
11
|
+
client = Helpers::Client.bedrock_client(
|
|
12
|
+
access_key_id: access_key_id,
|
|
13
|
+
secret_access_key: secret_access_key,
|
|
14
|
+
region: region
|
|
15
|
+
)
|
|
16
|
+
response = client.list_foundation_models
|
|
17
|
+
{ models: response.model_summaries }
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def get(model_id:, access_key_id:, secret_access_key:, region: Helpers::Client::DEFAULT_REGION, **)
|
|
21
|
+
client = Helpers::Client.bedrock_client(
|
|
22
|
+
access_key_id: access_key_id,
|
|
23
|
+
secret_access_key: secret_access_key,
|
|
24
|
+
region: region
|
|
25
|
+
)
|
|
26
|
+
response = client.get_foundation_model(model_identifier: model_id)
|
|
27
|
+
{ model: response.model_details }
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
include Legion::Extensions::Helpers::Lex if Legion::Extensions.const_defined?(:Helpers) &&
|
|
31
|
+
Legion::Extensions::Helpers.const_defined?(:Lex)
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'legion/extensions/bedrock/version'
|
|
4
|
+
require 'legion/extensions/bedrock/helpers/client'
|
|
5
|
+
require 'legion/extensions/bedrock/runners/models'
|
|
6
|
+
require 'legion/extensions/bedrock/runners/converse'
|
|
7
|
+
require 'legion/extensions/bedrock/runners/invoke'
|
|
8
|
+
|
|
9
|
+
module Legion
|
|
10
|
+
module Extensions
|
|
11
|
+
module Bedrock
|
|
12
|
+
extend Legion::Extensions::Core if Legion::Extensions.const_defined? :Core
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
end
|
metadata
ADDED
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
|
2
|
+
name: lex-bedrock
|
|
3
|
+
version: !ruby/object:Gem::Version
|
|
4
|
+
version: 0.1.1
|
|
5
|
+
platform: ruby
|
|
6
|
+
authors:
|
|
7
|
+
- Esity
|
|
8
|
+
bindir: bin
|
|
9
|
+
cert_chain: []
|
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
|
11
|
+
dependencies:
|
|
12
|
+
- !ruby/object:Gem::Dependency
|
|
13
|
+
name: aws-sdk-bedrock
|
|
14
|
+
requirement: !ruby/object:Gem::Requirement
|
|
15
|
+
requirements:
|
|
16
|
+
- - ">="
|
|
17
|
+
- !ruby/object:Gem::Version
|
|
18
|
+
version: '0'
|
|
19
|
+
type: :runtime
|
|
20
|
+
prerelease: false
|
|
21
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
22
|
+
requirements:
|
|
23
|
+
- - ">="
|
|
24
|
+
- !ruby/object:Gem::Version
|
|
25
|
+
version: '0'
|
|
26
|
+
- !ruby/object:Gem::Dependency
|
|
27
|
+
name: aws-sdk-bedrockruntime
|
|
28
|
+
requirement: !ruby/object:Gem::Requirement
|
|
29
|
+
requirements:
|
|
30
|
+
- - ">="
|
|
31
|
+
- !ruby/object:Gem::Version
|
|
32
|
+
version: '0'
|
|
33
|
+
type: :runtime
|
|
34
|
+
prerelease: false
|
|
35
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
36
|
+
requirements:
|
|
37
|
+
- - ">="
|
|
38
|
+
- !ruby/object:Gem::Version
|
|
39
|
+
version: '0'
|
|
40
|
+
description: Connects LegionIO to AWS Bedrock for foundation model inference
|
|
41
|
+
email:
|
|
42
|
+
- matthewdiverson@gmail.com
|
|
43
|
+
executables: []
|
|
44
|
+
extensions: []
|
|
45
|
+
extra_rdoc_files: []
|
|
46
|
+
files:
|
|
47
|
+
- ".github/workflows/ci.yml"
|
|
48
|
+
- ".gitignore"
|
|
49
|
+
- ".rspec"
|
|
50
|
+
- ".rubocop.yml"
|
|
51
|
+
- CHANGELOG.md
|
|
52
|
+
- Gemfile
|
|
53
|
+
- README.md
|
|
54
|
+
- lex-bedrock.gemspec
|
|
55
|
+
- lib/legion/extensions/bedrock.rb
|
|
56
|
+
- lib/legion/extensions/bedrock/client.rb
|
|
57
|
+
- lib/legion/extensions/bedrock/helpers/client.rb
|
|
58
|
+
- lib/legion/extensions/bedrock/runners/converse.rb
|
|
59
|
+
- lib/legion/extensions/bedrock/runners/invoke.rb
|
|
60
|
+
- lib/legion/extensions/bedrock/runners/models.rb
|
|
61
|
+
- lib/legion/extensions/bedrock/version.rb
|
|
62
|
+
homepage: https://github.com/LegionIO/lex-bedrock
|
|
63
|
+
licenses:
|
|
64
|
+
- MIT
|
|
65
|
+
metadata:
|
|
66
|
+
homepage_uri: https://github.com/LegionIO/lex-bedrock
|
|
67
|
+
source_code_uri: https://github.com/LegionIO/lex-bedrock
|
|
68
|
+
documentation_uri: https://github.com/LegionIO/lex-bedrock
|
|
69
|
+
changelog_uri: https://github.com/LegionIO/lex-bedrock
|
|
70
|
+
bug_tracker_uri: https://github.com/LegionIO/lex-bedrock/issues
|
|
71
|
+
rubygems_mfa_required: 'true'
|
|
72
|
+
rdoc_options: []
|
|
73
|
+
require_paths:
|
|
74
|
+
- lib
|
|
75
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
|
76
|
+
requirements:
|
|
77
|
+
- - ">="
|
|
78
|
+
- !ruby/object:Gem::Version
|
|
79
|
+
version: '3.4'
|
|
80
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
81
|
+
requirements:
|
|
82
|
+
- - ">="
|
|
83
|
+
- !ruby/object:Gem::Version
|
|
84
|
+
version: '0'
|
|
85
|
+
requirements: []
|
|
86
|
+
rubygems_version: 3.6.9
|
|
87
|
+
specification_version: 4
|
|
88
|
+
summary: LEX Bedrock
|
|
89
|
+
test_files: []
|