vagrant-impressbox 0.1.0 → 0.1.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.editorconfig +16 -0
- data/README.md +22 -14
- data/lib/vagrant-impressbox/actions/insert_key.rb +64 -56
- data/lib/vagrant-impressbox/provisioner.rb +107 -103
- data/lib/vagrant-impressbox/templates/config.yaml +0 -5
- data/lib/vagrant-impressbox/version.rb +4 -4
- data/locales/en.yml +29 -27
- data/vagrant-impressbox.gemspec +31 -31
- metadata +6 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: eb87ddda30acb51620df45fb0b6af4651bcc38c4
|
4
|
+
data.tar.gz: aca4ba8308f4ecff748e252790798bf86ea2b875
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 665f819e3746fd938188f2259a04f54196ba23bbc43b0dd68efa8c1c98ae1be1486b92d597e56df3c92119607a3117da166061dc84468ec441ba07ef934a5f77
|
7
|
+
data.tar.gz: 84ea5a35a4cc74e587ee4c7e5219f3388615bf225ec5768956664643afe21353618690ec2be81d3e489f0d516f4182c3cb13e00b607a3f94145fbcd9cead7d4a
|
data/.editorconfig
ADDED
@@ -0,0 +1,16 @@
|
|
1
|
+
root = true
|
2
|
+
|
3
|
+
[*]
|
4
|
+
indent_style = space
|
5
|
+
indent_size = 2
|
6
|
+
end_of_line = lf
|
7
|
+
charset = utf-8
|
8
|
+
trim_trailing_whitespace = true
|
9
|
+
insert_final_newline = true
|
10
|
+
|
11
|
+
[*.{sh,markdown}]
|
12
|
+
indent_size = 4
|
13
|
+
|
14
|
+
[**.rb]
|
15
|
+
indent_style = space
|
16
|
+
indent_size = 2
|
data/README.md
CHANGED
@@ -1,6 +1,4 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
------
|
1
|
+
[![Gem](https://img.shields.io/gem/dtv/vagrant-impressbox.svg)](https://rubygems.org/gems/vagrant-impressbox) [![Gem](https://img.shields.io/gem/v/vagrant-impressbox.svg)](https://rubygems.org/gems/vagrant-impressbox) [![license](https://img.shields.io/github/license/ImpressCMS/vagrant-impressbox.svg?maxAge=2592000)](License.txt)
|
4
2
|
|
5
3
|
# ImpressBox
|
6
4
|
|
@@ -8,24 +6,34 @@ ImpressBox is plugin to make easier to configure virtual enviroment for Vagrant.
|
|
8
6
|
|
9
7
|
## Installation
|
10
8
|
|
11
|
-
|
9
|
+
Run below command from your command line:
|
10
|
+
`vagrant plugin install vagrant-impressbox`
|
12
11
|
|
13
12
|
## Usage
|
14
13
|
|
15
|
-
`vagrant impressbox`
|
14
|
+
To use Impressbox plugin, you can run `vagrant impressbox` command from command line. It will create required configuration files. Also it's possible to use some options to modify default configuration files creation behavior:
|
16
15
|
|
17
|
-
|
16
|
+
vagrant impressbox [options]
|
18
17
|
|
19
|
-
|
18
|
+
-b, --box=BOX_NAME Box name for new box (default: ImpressCMS/DevBox-Ubuntu)
|
19
|
+
--ip=IP Defines IP (default: )
|
20
|
+
--url=HOSTNAME Hostname associated with this box (default: impresscms.dev)
|
21
|
+
--memory=RAM How much RAM (in megabytes)? (default: 512)
|
22
|
+
--cpus=CPU_NUMBER How much CPU? (default: 1)
|
23
|
+
-r, --recreate Recreates config instead of updating (so you don't need to delete first)
|
24
|
+
-f, --for=NAME This argument says that predefined config will be used when creating box. Possible names: impresscms
|
25
|
+
|
26
|
+
-h, --help Print this help
|
27
|
+
|
28
|
+
## Development
|
20
29
|
|
21
|
-
|
30
|
+
If you want to try add something to this plugin, you need before starting do these things:
|
31
|
+
* Clone this repository
|
32
|
+
* Open command line in cloned directory
|
33
|
+
* Run `bundle install`
|
34
|
+
|
35
|
+
If you want to your changes, you can run `bundle exec vagrant impressbox` command (also here is possible to use some commands options).
|
22
36
|
|
23
37
|
## Contributing
|
24
38
|
|
25
39
|
Bug reports and pull requests are welcome on GitHub at https://github.com/ImpressCMS/impressbox.
|
26
|
-
|
27
|
-
|
28
|
-
## License
|
29
|
-
|
30
|
-
The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).
|
31
|
-
|
@@ -1,56 +1,64 @@
|
|
1
|
-
module Impressbox
|
2
|
-
module Actions
|
3
|
-
# This is action to insert keys to remote machine when booting
|
4
|
-
class InsertKey
|
5
|
-
def initialize(app, env)
|
6
|
-
@app = app
|
7
|
-
@ui = env[:ui]
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
@
|
13
|
-
|
14
|
-
|
15
|
-
Impressbox::Plugin.get_item(:
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
communicator
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
1
|
+
module Impressbox
|
2
|
+
module Actions
|
3
|
+
# This is action to insert keys to remote machine when booting
|
4
|
+
class InsertKey
|
5
|
+
def initialize(app, env)
|
6
|
+
@app = app
|
7
|
+
@ui = env[:ui]
|
8
|
+
puts app.inspect
|
9
|
+
end
|
10
|
+
|
11
|
+
def call(env)
|
12
|
+
@app.call env
|
13
|
+
@machine = env[:machine]
|
14
|
+
insert_ssh_key_if_needed(
|
15
|
+
Impressbox::Plugin.get_item(:public_key),
|
16
|
+
Impressbox::Plugin.get_item(:private_key)
|
17
|
+
)
|
18
|
+
end
|
19
|
+
|
20
|
+
private
|
21
|
+
|
22
|
+
def insert_ssh_key_if_needed(public_key, private_key)
|
23
|
+
@machine.communicate.wait_for_ready 300
|
24
|
+
|
25
|
+
machine_private_key @machine.communicate, private_key
|
26
|
+
machine_public_key @machine.communicate, public_key
|
27
|
+
end
|
28
|
+
|
29
|
+
def machine_public_key(communicator, public_key)
|
30
|
+
@ui.info I18n.t('ssh_key.updating.public')
|
31
|
+
if machine_upload_file communicator, public_key, '~/.ssh/id_rsa.pub'
|
32
|
+
communicator.execute 'touch ~/.ssh/authorized_keys'
|
33
|
+
communicator.execute 'cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys'
|
34
|
+
communicator.execute "echo `awk '!a[$0]++' ~/.ssh/authorized_keys` > ~/.ssh/authorized_keys"
|
35
|
+
|
36
|
+
communicator.execute 'chmod 600 ~/.ssh/id_rsa.pub'
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
def machine_private_key(communicator, private_key)
|
41
|
+
@ui.info I18n.t('ssh_key.updating.private')
|
42
|
+
if machine_upload_file communicator, private_key, '~/.ssh/id_rsa'
|
43
|
+
communicator.execute 'chmod 400 ~/.ssh/id_rsa'
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
def machine_upload_file(communicator, src_file, dst_file)
|
48
|
+
if src_file.nil?
|
49
|
+
@ui.info I18n.t('ssh_key.not_found')
|
50
|
+
return false
|
51
|
+
end
|
52
|
+
communicator.execute 'chmod 777 ' + dst_file + ' || :'
|
53
|
+
communicator.execute 'touch ' + dst_file
|
54
|
+
communicator.execute 'truncate -s 0 ' + dst_file
|
55
|
+
text = File.open(src_file).read
|
56
|
+
text.gsub!(/\r\n?/, "\n")
|
57
|
+
text.each_line do |line|
|
58
|
+
communicator.execute "echo \"#{line.rstrip}\" >> #{dst_file}"
|
59
|
+
end
|
60
|
+
true
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end
|
@@ -1,103 +1,107 @@
|
|
1
|
-
# Loads all requirements
|
2
|
-
require 'vagrant'
|
3
|
-
require_relative File.join('objects', 'ssh_key_detect.rb')
|
4
|
-
|
5
|
-
# Impressbox namepsace
|
6
|
-
module Impressbox
|
7
|
-
# Provisioner namepsace
|
8
|
-
class Provisioner < Vagrant.plugin('2', :provisioner)
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
@machine.communicate.
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
def
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
@machine.ui.info
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
end
|
53
|
-
|
54
|
-
def
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
configurator.
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
configurator.
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
1
|
+
# Loads all requirements
|
2
|
+
require 'vagrant'
|
3
|
+
require_relative File.join('objects', 'ssh_key_detect.rb')
|
4
|
+
|
5
|
+
# Impressbox namepsace
|
6
|
+
module Impressbox
|
7
|
+
# Provisioner namepsace
|
8
|
+
class Provisioner < Vagrant.plugin('2', :provisioner)
|
9
|
+
|
10
|
+
# @!attribute [rw] provision_actions
|
11
|
+
attr_accessor :provision_actions
|
12
|
+
|
13
|
+
# Do provision
|
14
|
+
def provision
|
15
|
+
if !@provision_actions.nil? && @provision_actions.to_s.length > 0
|
16
|
+
@machine.communicate.wait_for_ready 300
|
17
|
+
|
18
|
+
@machine.communicate.execute(@provision_actions.to_s) do |type, line|
|
19
|
+
write_line type, line
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
# Cleanup script
|
25
|
+
def cleanup
|
26
|
+
end
|
27
|
+
|
28
|
+
# Configure
|
29
|
+
def configure(root_config)
|
30
|
+
configurator = create_configurator(root_config)
|
31
|
+
cfg = xaml_config
|
32
|
+
|
33
|
+
do_primary_configuration configurator, cfg
|
34
|
+
do_ssh_configuration configurator, cfg
|
35
|
+
do_provider_configuration configurator, cfg
|
36
|
+
do_network_configuration configurator, cfg
|
37
|
+
do_provision_configure configurator, cfg
|
38
|
+
end
|
39
|
+
|
40
|
+
private
|
41
|
+
|
42
|
+
def write_line(type, contents)
|
43
|
+
case type
|
44
|
+
when :stdout
|
45
|
+
@machine.ui.info contents
|
46
|
+
when :stderr
|
47
|
+
@machine.ui.error contents
|
48
|
+
else
|
49
|
+
@machine.ui.info 'W: ' + type
|
50
|
+
@machine.ui.info contents
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
54
|
+
def do_provision_configure(_configurator, cfg)
|
55
|
+
@provision_actions = cfg.provision if !cfg.provision.nil? && cfg.provision
|
56
|
+
end
|
57
|
+
|
58
|
+
def do_primary_configuration(configurator, cfg)
|
59
|
+
configurator.name cfg.name
|
60
|
+
configurator.check_for_update cfg.check_update
|
61
|
+
configurator.forward_ports cfg.ports
|
62
|
+
end
|
63
|
+
|
64
|
+
def do_network_configuration(configurator, cfg)
|
65
|
+
configurator.configure_network cfg.ip unless cfg.ip.nil?
|
66
|
+
aliases = cfg.hostname
|
67
|
+
if aliases.is_a?(Array)
|
68
|
+
hostname = aliases.shift
|
69
|
+
else
|
70
|
+
hostname = aliases.dup
|
71
|
+
aliases = []
|
72
|
+
end
|
73
|
+
configurator.configure_hostnames(hostname, aliases)
|
74
|
+
end
|
75
|
+
|
76
|
+
def do_ssh_configuration(configurator, cfg)
|
77
|
+
keys = Impressbox::Objects::SshKeyDetect.new(cfg)
|
78
|
+
configurator.configure_ssh keys.public_key, keys.private_key
|
79
|
+
end
|
80
|
+
|
81
|
+
def do_provider_configuration(configurator, cfg)
|
82
|
+
configurator.basic_configure cfg.name, cfg.cpus, cfg.memory, cfg.gui
|
83
|
+
configurator.specific_configure cfg
|
84
|
+
end
|
85
|
+
|
86
|
+
def detect_provider
|
87
|
+
if ARGV[1] && (ARGV[1].split('=')[0] == '--provider' || ARGV[2])
|
88
|
+
return (ARGV[1].split('=')[1] || ARGV[2])
|
89
|
+
end
|
90
|
+
(ENV['VAGRANT_DEFAULT_PROVIDER'] || :virtualbox).to_sym
|
91
|
+
end
|
92
|
+
|
93
|
+
def create_configurator(root_config)
|
94
|
+
require_relative File.join('objects', 'configurator')
|
95
|
+
Impressbox::Objects::Configurator.new(
|
96
|
+
root_config,
|
97
|
+
@machine,
|
98
|
+
detect_provider
|
99
|
+
)
|
100
|
+
end
|
101
|
+
|
102
|
+
def xaml_config
|
103
|
+
require_relative File.join('objects', 'config_file')
|
104
|
+
Impressbox::Objects::ConfigFile.new @config.file
|
105
|
+
end
|
106
|
+
end
|
107
|
+
end
|
@@ -63,11 +63,6 @@ memory: {{memory}}
|
|
63
63
|
# ---------------------------------------------------------------------------------------
|
64
64
|
check_update: {{#check_update}}true{{/check_update}}{{^check_update}}false{{/check_update}}
|
65
65
|
|
66
|
-
# ---------------------------------------------------------------------------------------
|
67
|
-
# What command should execute vagrant exec command on host?
|
68
|
-
# ---------------------------------------------------------------------------------------
|
69
|
-
cmd: {{cmd}}
|
70
|
-
|
71
66
|
# ---------------------------------------------------------------------------------------
|
72
67
|
# What shell commands will be executed on provision?
|
73
68
|
# ---------------------------------------------------------------------------------------
|
@@ -1,4 +1,4 @@
|
|
1
|
-
# Plugin version information
|
2
|
-
module Impressbox
|
3
|
-
VERSION = '0.1.
|
4
|
-
end
|
1
|
+
# Plugin version information
|
2
|
+
module Impressbox
|
3
|
+
VERSION = '0.1.1'.freeze
|
4
|
+
end
|
data/locales/en.yml
CHANGED
@@ -1,28 +1,30 @@
|
|
1
|
-
en:
|
2
|
-
description: |
|
3
|
-
This plugin adds possibility to create and manage box with configuration defined in YAML file.
|
4
|
-
This plugin is created for developing something with ImpressCMS but it's possible to use also with other CMS'es and framework.
|
5
|
-
ssh_key:
|
6
|
-
updating:
|
7
|
-
public: Updating public key...
|
8
|
-
private: Updating private key...
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
1
|
+
en:
|
2
|
+
description: |
|
3
|
+
This plugin adds possibility to create and manage box with configuration defined in YAML file.
|
4
|
+
This plugin is created for developing something with ImpressCMS but it's possible to use also with other CMS'es and framework.
|
5
|
+
ssh_key:
|
6
|
+
updating:
|
7
|
+
public: Updating public key...
|
8
|
+
private: Updating private key...
|
9
|
+
not_found:
|
10
|
+
No SSH Key possible to load.
|
11
|
+
copying:
|
12
|
+
git_settings: Copying locale GIT settings to remote machine...
|
13
|
+
config:
|
14
|
+
recreated: Vagrant enviroment configuration (re)created
|
15
|
+
updated: Vagrant enviroment configuration updated
|
16
|
+
not_exist: "Config file %{file} not exist"
|
17
|
+
command:
|
18
|
+
impressbox:
|
19
|
+
synopsis: Creates a Vagrantfile and config.yaml ready for use with ImpressBox
|
20
|
+
usage: "Usage: %{cmd} [options]"
|
21
|
+
arguments:
|
22
|
+
box: "Box name for new box (default: %{box})"
|
23
|
+
ip: "Defines IP (default: %{ip})"
|
24
|
+
hostname: "Hostname associated with this box (default: %{hostname})"
|
25
|
+
memory: "How much RAM (in megabytes)? (default: %{memory})"
|
26
|
+
cpus: "How much CPU? (default: %{cpus})"
|
27
|
+
cmd: "What command would be executed when use vagrant exec on host? (default: %{cmd})"
|
28
|
+
special:
|
29
|
+
recreate: "Recreates config instead of updating (so you don't need to delete first)"
|
28
30
|
use_template: "This argument says that predefined config will be used when creating box. Possible names: %{templates}"
|
data/vagrant-impressbox.gemspec
CHANGED
@@ -1,31 +1,31 @@
|
|
1
|
-
# coding: utf-8
|
2
|
-
$LOAD_PATH << File.expand_path(File.join(File.dirname(__FILE__), 'lib'))
|
3
|
-
require 'vagrant-impressbox/version'
|
4
|
-
|
5
|
-
Gem::Specification.new do |spec|
|
6
|
-
spec.name = 'vagrant-impressbox'
|
7
|
-
spec.version = Impressbox::VERSION
|
8
|
-
spec.authors = ["Raimondas Rimkevi\xC4\x8Dius"]
|
9
|
-
spec.email = ['mekdrop@impresscms.org']
|
10
|
-
|
11
|
-
spec.summary = <<-EOD
|
12
|
-
This plugin can do provision and create configurations for simple boxes for development
|
13
|
-
EOD
|
14
|
-
spec.description = <<-EOD
|
15
|
-
This plugin can do provision and create configurations for simple boxes for development
|
16
|
-
EOD
|
17
|
-
spec.homepage = 'http://impresscms.org'
|
18
|
-
spec.license = 'MIT'
|
19
|
-
|
20
|
-
spec.files = `git ls-files -z`.split("\0")
|
21
|
-
spec.bindir = 'exe'
|
22
|
-
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
23
|
-
spec.require_path = 'lib'
|
24
|
-
|
25
|
-
spec.add_development_dependency 'bundler', '<= 1.
|
26
|
-
spec.add_development_dependency 'rake', '~> 1.10.6'
|
27
|
-
spec.add_development_dependency 'rspec', '~> 2.14.0'
|
28
|
-
|
29
|
-
spec.add_dependency 'mustache', '~> 1.0'
|
30
|
-
spec.add_dependency 'vagrant-hostmanager', '~> 1.8', '>= 1.8.1'
|
31
|
-
end
|
1
|
+
# coding: utf-8
|
2
|
+
$LOAD_PATH << File.expand_path(File.join(File.dirname(__FILE__), 'lib'))
|
3
|
+
require 'vagrant-impressbox/version'
|
4
|
+
|
5
|
+
Gem::Specification.new do |spec|
|
6
|
+
spec.name = 'vagrant-impressbox'
|
7
|
+
spec.version = Impressbox::VERSION
|
8
|
+
spec.authors = ["Raimondas Rimkevi\xC4\x8Dius (aka MekDrop) <mekdrop@impresscms.org>"]
|
9
|
+
spec.email = ['mekdrop@impresscms.org']
|
10
|
+
|
11
|
+
spec.summary = <<-EOD
|
12
|
+
This plugin can do provision and create configurations for simple boxes for development
|
13
|
+
EOD
|
14
|
+
spec.description = <<-EOD
|
15
|
+
This plugin can do provision and create configurations for simple boxes for development
|
16
|
+
EOD
|
17
|
+
spec.homepage = 'http://impresscms.org'
|
18
|
+
spec.license = 'MIT'
|
19
|
+
|
20
|
+
spec.files = `git ls-files -z`.split("\0")
|
21
|
+
spec.bindir = 'exe'
|
22
|
+
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
23
|
+
spec.require_path = 'lib'
|
24
|
+
|
25
|
+
spec.add_development_dependency 'bundler', '<= 1.10.6'
|
26
|
+
spec.add_development_dependency 'rake', '~> 1.10.6'
|
27
|
+
spec.add_development_dependency 'rspec', '~> 2.14.0'
|
28
|
+
|
29
|
+
spec.add_dependency 'mustache', '~> 1.0'
|
30
|
+
spec.add_dependency 'vagrant-hostmanager', '~> 1.8', '>= 1.8.1'
|
31
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: vagrant-impressbox
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
|
-
- Raimondas Rimkevičius
|
7
|
+
- Raimondas Rimkevičius (aka MekDrop) <mekdrop@impresscms.org>
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-04-
|
11
|
+
date: 2016-04-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "<="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 1.
|
19
|
+
version: 1.10.6
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "<="
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 1.
|
26
|
+
version: 1.10.6
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rake
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -94,6 +94,7 @@ executables: []
|
|
94
94
|
extensions: []
|
95
95
|
extra_rdoc_files: []
|
96
96
|
files:
|
97
|
+
- ".editorconfig"
|
97
98
|
- ".gitignore"
|
98
99
|
- ".rspec"
|
99
100
|
- ".travis.yml"
|