alki-console 0.6.0 → 0.7.0

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 2b03ea6e833c0590a8322188ca7290ca96357db6
4
- data.tar.gz: e750686eedf19dc4445d9338891730845748782f
3
+ metadata.gz: 0d9eabe5119553aecf3850b96338916969e246f3
4
+ data.tar.gz: c687692abdfd509d8a30f9739f25bef487d7d6fb
5
5
  SHA512:
6
- metadata.gz: a098c4be370693d856816fad6b33d489ca8d6a25868c9cb04640618992e70759210680c12a820bac55be504a902ff20a15a156294100537a1063f0dc65715af9
7
- data.tar.gz: e0597cf5c40e3f491368c524c71eb730f4818809830d146875f30886807c81f9e4474295c317c2de440bd8ccc3c6f3a053cc74e0533ff7119c70459e0f733266
6
+ metadata.gz: b03fb366ad6ef826f975f33005395c10289f13a3aefa8569c4756db5f1b06befeb93fdef95e83951c37d43e067217d65b6b26841ff6c2c4229d3cddc10951e7c
7
+ data.tar.gz: c1d0c4116c86d85a7c372857c769f58b213d676552f966d9f856c0b17a707e687b7fd1bc6f1430aa6332fde25991d768c6dc80deb55dff35fae02fbec15fe61f
data/README.adoc ADDED
@@ -0,0 +1,72 @@
1
+ = Alki::Console
2
+
3
+ Provides a console to work with https://github.com/alki-project/alki[Alki] assemblies.
4
+ Built on https://github.com/pry/pry[Pry].
5
+
6
+ == Installation
7
+
8
+ Add this line to your application's Gemfile:
9
+
10
+ [source,ruby]
11
+ ----
12
+ gem 'alki-console'
13
+ ----
14
+
15
+ And then execute:
16
+
17
+ [source]
18
+ ----
19
+ $ bundle --binstubs
20
+ ----
21
+
22
+ == Running
23
+
24
+ In an Alki project, run `bin/alki-console`. Once run a prompt will be displayed
25
+ and assembly elements will be directly accessible.
26
+
27
+ .config/assembly.rb
28
+ ```ruby
29
+ Alki do
30
+ group :settings do
31
+ set :message, 'Hello World'
32
+ end
33
+ end
34
+ ```
35
+
36
+ ```
37
+ $ bin/alki-console
38
+ my-app> settings.message
39
+ => 'Hello World'
40
+ my-app>
41
+ ```
42
+
43
+ == Mounting in Assembly
44
+
45
+ Alki::Console can be mounted into an Alki Assembly.
46
+ By default it will use the name of the parent assembly
47
+ (or "app" if it doesn't have a name) as the prompt,
48
+ and the parent assembly as the context.
49
+
50
+ .test.rb
51
+ ```ruby
52
+ require 'alki'
53
+
54
+ assembly = Alki.create_assembly do
55
+ mount :console, 'alki/console'
56
+
57
+ service :http_client do
58
+ require 'net/http'
59
+ Net::HTTP
60
+ end
61
+ end
62
+
63
+ assembly.new.console.run
64
+ ```
65
+
66
+ ```
67
+ $ ruby test.rb
68
+ app> http_client.get URI('http://httpbin.org/uuid')
69
+ => "{\n \"uuid\": \"0b6f27a1-bb98-46f5-970d-f5b4fe94f5a7\"\n}\n"
70
+ ```
71
+
72
+
data/alki-console.gemspec CHANGED
@@ -18,8 +18,6 @@ Gem::Specification.new do |spec|
18
18
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
19
  spec.require_paths = ["lib"]
20
20
 
21
- spec.add_development_dependency "bundler", "~> 1.6"
22
- spec.add_development_dependency "rake", '~> 10.0'
23
- spec.add_dependency "alki", "~> 0.12.1"
24
- spec.add_dependency "pry", "~> 0.10"
21
+ spec.add_dependency "alki", "~> 0.13.0"
22
+ spec.add_dependency "pry", "~> 0.11"
25
23
  end
data/config/assembly.rb CHANGED
@@ -1,16 +1,19 @@
1
1
  Alki do
2
- set :name, 'app'
2
+ set :prompt do
3
+ assembly_name&.gsub('/','-') || 'app'
4
+ end
5
+
3
6
  func :run do
4
7
  console.start
5
8
  end
6
9
 
7
- set :root_group do
10
+ set :context do
8
11
  parent
9
12
  end
10
13
 
11
14
  tag :main_loop
12
15
  service :console do
13
16
  require 'alki/console/pry_console'
14
- Alki::Console::PryConsole.new name, root_group
17
+ Alki::Console::PryConsole.new prompt, context
15
18
  end
16
19
  end
@@ -3,9 +3,9 @@ require 'pry'
3
3
  module Alki
4
4
  module Console
5
5
  class PryConsole
6
- def initialize(name, root)
6
+ def initialize(name, context)
7
7
  @name = name
8
- @context = root
8
+ @context = context
9
9
  end
10
10
 
11
11
  def start
@@ -1,5 +1,5 @@
1
1
  module Alki
2
2
  module Console
3
- VERSION = '0.6.0'
3
+ VERSION = '0.7.0'
4
4
  end
5
5
  end
@@ -19,11 +19,13 @@ module Alki
19
19
  end
20
20
 
21
21
  def self.wrap(dir=Dir.pwd,assembly_name=find_assembly(dir))
22
+ lib_dir = File.join(dir,'lib')
23
+ $LOAD_PATH << lib_dir unless $LOAD_PATH.include? lib_dir
22
24
  assembly = Alki.load(assembly_name)
23
25
  assembly.new do
24
26
  mount :_console, 'alki/console' do
25
- set :name, assembly_name.gsub('/','-')
26
- set :root_group do
27
+ set :prompt, assembly_name.gsub('/','-')
28
+ set :context do
27
29
  root
28
30
  end
29
31
  end
metadata CHANGED
@@ -1,71 +1,43 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: alki-console
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.0
4
+ version: 0.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matt Edlefsen
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-08-31 00:00:00.000000000 Z
11
+ date: 2017-11-11 00:00:00.000000000 Z
12
12
  dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: bundler
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - "~>"
18
- - !ruby/object:Gem::Version
19
- version: '1.6'
20
- type: :development
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - "~>"
25
- - !ruby/object:Gem::Version
26
- version: '1.6'
27
- - !ruby/object:Gem::Dependency
28
- name: rake
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - "~>"
32
- - !ruby/object:Gem::Version
33
- version: '10.0'
34
- type: :development
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - "~>"
39
- - !ruby/object:Gem::Version
40
- version: '10.0'
41
13
  - !ruby/object:Gem::Dependency
42
14
  name: alki
43
15
  requirement: !ruby/object:Gem::Requirement
44
16
  requirements:
45
17
  - - "~>"
46
18
  - !ruby/object:Gem::Version
47
- version: 0.12.1
19
+ version: 0.13.0
48
20
  type: :runtime
49
21
  prerelease: false
50
22
  version_requirements: !ruby/object:Gem::Requirement
51
23
  requirements:
52
24
  - - "~>"
53
25
  - !ruby/object:Gem::Version
54
- version: 0.12.1
26
+ version: 0.13.0
55
27
  - !ruby/object:Gem::Dependency
56
28
  name: pry
57
29
  requirement: !ruby/object:Gem::Requirement
58
30
  requirements:
59
31
  - - "~>"
60
32
  - !ruby/object:Gem::Version
61
- version: '0.10'
33
+ version: '0.11'
62
34
  type: :runtime
63
35
  prerelease: false
64
36
  version_requirements: !ruby/object:Gem::Requirement
65
37
  requirements:
66
38
  - - "~>"
67
39
  - !ruby/object:Gem::Version
68
- version: '0.10'
40
+ version: '0.11'
69
41
  description:
70
42
  email:
71
43
  - matt.edlefsen@gmail.com
@@ -76,6 +48,7 @@ extra_rdoc_files: []
76
48
  files:
77
49
  - ".gitignore"
78
50
  - Gemfile
51
+ - README.adoc
79
52
  - Rakefile
80
53
  - alki-console.gemspec
81
54
  - config/assembly.rb
@@ -104,7 +77,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
104
77
  version: '0'
105
78
  requirements: []
106
79
  rubyforge_project:
107
- rubygems_version: 2.5.2
80
+ rubygems_version: 2.6.12
108
81
  signing_key:
109
82
  specification_version: 4
110
83
  summary: Developer console for Alki applications