spiced_rumby 0.6.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 7500edb751d872e8801cc00025799598251a8855
4
+ data.tar.gz: 896ed518924d16828d61ebf7363d3bff74b39cb4
5
+ SHA512:
6
+ metadata.gz: eb44d32b62d0723a4f0b075d4aaebdb5898d46a3db28b9c704bda9c80fdc816175500b2f6c8a2982d6f1ef7435be0a202de9a93091fe99bb742cbb7eb7966437
7
+ data.tar.gz: 2b438ddbfb30509a4172a47cb3011ddc28aa2b830858013b85e08c07ef894afed6fa3cebad2f64649cde391cb599c7220383f2d76d13ea79f9dcb0a8a699b85a
data/.codeclimate.yml ADDED
@@ -0,0 +1,50 @@
1
+ # This is a sample .codeclimate.yml configured for Engine analysis on Code
2
+ # Climate Platform. For an overview of the Code Climate Platform, see here:
3
+ # http://docs.codeclimate.com/article/300-the-codeclimate-platform
4
+
5
+ # Under the engines key, you can configure which engines will analyze your repo.
6
+ # Each key is an engine name. For each value, you need to specify enabled: true
7
+ # to enable the engine as well as any other engines-specific configuration.
8
+
9
+ # For more details, see here:
10
+ # http://docs.codeclimate.com/article/289-configuring-your-repository-via-codeclimate-yml#platform
11
+
12
+ # For a list of all available engines, see here:
13
+ # http://docs.codeclimate.com/article/296-engines-available-engines
14
+
15
+ engines:
16
+ # to turn on an engine, add it here and set enabled to `true`
17
+ # to turn off an engine, set enabled to `false` or remove it
18
+ rubocop:
19
+ enabled: true
20
+ # golint:
21
+ # enabled: true
22
+ # gofmt:
23
+ # enabled: true
24
+ # eslint:
25
+ # enabled: true
26
+ # csslint:
27
+ # enabled: true
28
+
29
+ # Engines can analyze files and report issues on them, but you can separately
30
+ # decide which files will receive ratings based on those issues. This is
31
+ # specified by path patterns under the ratings key.
32
+
33
+ # For more details see here:
34
+ # http://docs.codeclimate.com/article/289-configuring-your-repository-via-codeclimate-yml#platform
35
+
36
+ # Note: If the ratings key is not specified, this will result in a 0.0 GPA on your dashboard.
37
+
38
+ ratings:
39
+ paths:
40
+ - lib/**
41
+ # - app/**
42
+ # - "**.rb"
43
+ # - "**.go"
44
+
45
+ # You can globally exclude files from being analyzed by any engine using the
46
+ # exclude_paths key.
47
+
48
+ exclude_paths:
49
+ - spec/**/*
50
+ - vendor/**/*
data/.gitignore ADDED
@@ -0,0 +1,47 @@
1
+ ## Spiced Rumby Specific
2
+ settings.json
3
+ serverlist.json
4
+ test-settings
5
+ test-activeserverlist
6
+ test-serverlist
7
+ test-hashfile
8
+ debug.log
9
+ *.sqlite3
10
+ *.json
11
+
12
+ ## default ruby git ignore
13
+ *.gem
14
+ *.rbc
15
+ /.config
16
+ /coverage/
17
+ /InstalledFiles
18
+ /pkg/
19
+ /spec/reports/
20
+ /test/tmp/
21
+ /test/version_tmp/
22
+ /tmp/
23
+
24
+ ## Specific to RubyMotion:
25
+ .dat*
26
+ .repl_history
27
+ build/
28
+
29
+ ## Documentation cache and generated files:
30
+ /.yardoc/
31
+ /_yardoc/
32
+ /doc/
33
+ /rdoc/
34
+
35
+ ## Environment normalisation:
36
+ /.bundle/
37
+ /vendor/bundle
38
+ /lib/bundler/man/
39
+
40
+ # for a library or gem, you might want to ignore these files since the code is
41
+ # intended to run in multiple environments; otherwise, check them in:
42
+ # Gemfile.lock
43
+ # .ruby-version
44
+ # .ruby-gemset
45
+
46
+ # unless supporting rvm < 1.11.0 or doing something fancy, ignore this:
47
+ .rvmrc
data/.rspec ADDED
@@ -0,0 +1 @@
1
+ --color --format doc --fail-fast
data/.rubocop.yml ADDED
@@ -0,0 +1,61 @@
1
+ AllCops:
2
+ Exclude:
3
+ - config/initializers/forbidden_yaml.rb
4
+ - !ruby/regexp /(vendor|bundle|bin|db|tmp)\/.*/
5
+ DisplayCopNames: true
6
+ DisplayStyleGuide: true
7
+
8
+ Lint/NestedMethodDefinition:
9
+ Enabled: false
10
+
11
+ Style/StringLiterals:
12
+ EnforcedStyle: single_quotes
13
+
14
+ Metrics/AbcSize:
15
+ Max: 35 # TODO: Lower to 15
16
+
17
+ Metrics/ClassLength:
18
+ Max: 261 # TODO: Lower to 100
19
+ Exclude:
20
+ - test/**/*.rb
21
+
22
+ Metrics/CyclomaticComplexity:
23
+ Max: 7 # TODO: Lower to 6
24
+
25
+ Metrics/LineLength:
26
+ Max: 110 # TODO: Lower to 80
27
+
28
+ Metrics/MethodLength:
29
+ Max: 25
30
+
31
+ Metrics/PerceivedComplexity:
32
+ Max: 9 # TODO: Lower to 7
33
+
34
+ Style/AlignParameters:
35
+ EnforcedStyle: with_fixed_indentation
36
+
37
+ Style/ClassAndModuleChildren:
38
+ EnforcedStyle: nested
39
+
40
+ Style/Documentation:
41
+ Enabled: false
42
+
43
+ Style/MissingElse:
44
+ Enabled: false # TODO: maybe enable this?
45
+ EnforcedStyle: case
46
+
47
+ Style/EmptyElse:
48
+ EnforcedStyle: empty
49
+
50
+ Style/MultilineOperationIndentation:
51
+ EnforcedStyle: indented
52
+
53
+ Style/BlockDelimiters:
54
+ Enabled: true
55
+ EnforcedStyle: line_count_based
56
+
57
+ Style/PredicateName:
58
+ Enabled: false # TODO: enable with correct prefixes
59
+
60
+ Style/ClassVars:
61
+ Enabled: false
data/.travis.yml ADDED
@@ -0,0 +1,20 @@
1
+ language: ruby
2
+ bundler_args: --without guard
3
+ rvm:
4
+ - "2.0"
5
+ - "2.1"
6
+ - "2.2"
7
+ - ruby-head
8
+ script: "bundle exec rspec"
9
+ addons:
10
+ code_climate:
11
+ repo_token: 18ddab0ec2f7be2430569f2ffc7dee169da139b792172d3992a6aacba1f50877
12
+ branches:
13
+ only: master
14
+ notifications:
15
+ email: false
16
+
17
+ matrix:
18
+ fast_finish: true
19
+ allow_failures:
20
+ - rvm: ruby-head
data/Gemfile ADDED
@@ -0,0 +1,5 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in authorizable.gemspec
4
+ # gem 'ncursesw', github: 'sup-heliotrope/ncursesw-ruby'
5
+ gemspec
data/Gemfile.lock ADDED
@@ -0,0 +1,125 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ spiced_rumby (0.5.1)
5
+ meshchat
6
+
7
+ GEM
8
+ remote: https://rubygems.org/
9
+ specs:
10
+ activemodel (4.2.4)
11
+ activesupport (= 4.2.4)
12
+ builder (~> 3.1)
13
+ activerecord (4.2.4)
14
+ activemodel (= 4.2.4)
15
+ activesupport (= 4.2.4)
16
+ arel (~> 6.0)
17
+ activesupport (4.2.4)
18
+ i18n (~> 0.7)
19
+ json (~> 1.7, >= 1.7.7)
20
+ minitest (~> 5.1)
21
+ thread_safe (~> 0.3, >= 0.3.4)
22
+ tzinfo (~> 1.1)
23
+ arel (6.0.3)
24
+ ast (2.1.0)
25
+ astrolabe (1.3.1)
26
+ parser (~> 2.2)
27
+ awesome_print (1.6.1)
28
+ builder (3.2.2)
29
+ byebug (5.0.0)
30
+ columnize (= 0.9.0)
31
+ codeclimate-test-reporter (0.4.8)
32
+ simplecov (>= 0.7.1, < 1.0.0)
33
+ coderay (1.1.0)
34
+ colorize (0.7.7)
35
+ columnize (0.9.0)
36
+ curb (0.8.8)
37
+ curses (1.0.1)
38
+ daemons (1.2.3)
39
+ diff-lcs (1.2.5)
40
+ docile (1.1.5)
41
+ eventmachine (1.0.8)
42
+ ffi (1.9.10)
43
+ i18n (0.7.0)
44
+ json (1.8.3)
45
+ libnotify (0.9.1)
46
+ ffi (>= 1.0.11)
47
+ meshchat (0.5.0)
48
+ activerecord
49
+ activesupport
50
+ awesome_print
51
+ colorize
52
+ curb
53
+ curses
54
+ libnotify
55
+ sinatra
56
+ sqlite3
57
+ thin
58
+ method_source (0.8.2)
59
+ minitest (5.8.1)
60
+ parser (2.2.3.0)
61
+ ast (>= 1.1, < 3.0)
62
+ powerpack (0.1.1)
63
+ pry (0.10.3)
64
+ coderay (~> 1.1.0)
65
+ method_source (~> 0.8.1)
66
+ slop (~> 3.4)
67
+ pry-byebug (3.2.0)
68
+ byebug (~> 5.0)
69
+ pry (~> 0.10)
70
+ rack (1.6.4)
71
+ rack-protection (1.5.3)
72
+ rack
73
+ rainbow (2.0.0)
74
+ rspec (3.3.0)
75
+ rspec-core (~> 3.3.0)
76
+ rspec-expectations (~> 3.3.0)
77
+ rspec-mocks (~> 3.3.0)
78
+ rspec-core (3.3.2)
79
+ rspec-support (~> 3.3.0)
80
+ rspec-expectations (3.3.1)
81
+ diff-lcs (>= 1.2.0, < 2.0)
82
+ rspec-support (~> 3.3.0)
83
+ rspec-mocks (3.3.2)
84
+ diff-lcs (>= 1.2.0, < 2.0)
85
+ rspec-support (~> 3.3.0)
86
+ rspec-support (3.3.0)
87
+ rubocop (0.34.2)
88
+ astrolabe (~> 1.3)
89
+ parser (>= 2.2.2.5, < 3.0)
90
+ powerpack (~> 0.1)
91
+ rainbow (>= 1.99.1, < 3.0)
92
+ ruby-progressbar (~> 1.4)
93
+ ruby-progressbar (1.7.5)
94
+ simplecov (0.10.0)
95
+ docile (~> 1.1.0)
96
+ json (~> 1.8)
97
+ simplecov-html (~> 0.10.0)
98
+ simplecov-html (0.10.0)
99
+ sinatra (1.4.6)
100
+ rack (~> 1.4)
101
+ rack-protection (~> 1.4)
102
+ tilt (>= 1.3, < 3)
103
+ slop (3.6.0)
104
+ sqlite3 (1.3.11)
105
+ thin (1.6.4)
106
+ daemons (~> 1.0, >= 1.0.9)
107
+ eventmachine (~> 1.0, >= 1.0.4)
108
+ rack (~> 1.0)
109
+ thread_safe (0.3.5)
110
+ tilt (2.0.1)
111
+ tzinfo (1.2.2)
112
+ thread_safe (~> 0.1)
113
+
114
+ PLATFORMS
115
+ ruby
116
+
117
+ DEPENDENCIES
118
+ codeclimate-test-reporter
119
+ pry-byebug
120
+ rspec
121
+ rubocop
122
+ spiced_rumby!
123
+
124
+ BUNDLED WITH
125
+ 1.10.6
data/LICENSE ADDED
@@ -0,0 +1,22 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2015 L. Preston Sego III
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
22
+
data/README.md ADDED
@@ -0,0 +1,39 @@
1
+ # Spiced Rumby [![Build Status](https://travis-ci.org/NullVoxPopuli/spiced_rumby.svg)](https://travis-ci.org/NullVoxPopuli/spiced_rumby) [![Code Climate](https://codeclimate.com/github/NullVoxPopuli/spiced_rumby/badges/gpa.svg)](https://codeclimate.com/github/NullVoxPopuli/spiced_rumby) [![Test Coverage](https://codeclimate.com/github/NullVoxPopuli/spiced_rumby/badges/coverage.svg)](https://codeclimate.com/github/NullVoxPopuli/spiced_rumby/coverage)
2
+ A ruby gem that acts as a [mesh-chat](https://github.com/neuravion/mesh-chat) client.
3
+
4
+ ![Screenshot](http://i.imgur.com/Y88P4mw.png)
5
+ # Installation
6
+
7
+ ```bash
8
+ gem install spiced_rumby
9
+ ```
10
+
11
+ # Usage
12
+
13
+ ```bash
14
+ $ irb
15
+ ```
16
+ ```ruby
17
+ require 'spiced_rumby'
18
+ SpicedRumby.start
19
+ ```
20
+
21
+ Or, if you just download the zip / clone the repo:
22
+
23
+ ```bash
24
+ bundle install # to install ruby dependencies
25
+ ./run
26
+ ```
27
+
28
+ # Dependencies
29
+
30
+ For sending messages
31
+ ```bash
32
+ sudo apt-get install libcurl3 libcurl3-gnutls libcurl4-openssl-dev
33
+ ```
34
+ See [the ruby curl bindings installation](https://github.com/taf2/curb#installation) for non Ubuntu OSes.
35
+
36
+ For encryption and RSA key generation
37
+ ```bash
38
+ sudo apt-get install openssl
39
+ ```
data/Rakefile ADDED
@@ -0,0 +1 @@
1
+ require 'bundler/gem_tasks'
@@ -0,0 +1,20 @@
1
+ module SpicedRumby
2
+ class CLIInput < MeshChat::CLI::Base
3
+ class << self
4
+ def autocompletes
5
+ commands = MeshChat::CLI::COMMAND_MAP.map{ |k, v| "/#{k}" }
6
+ aliases = MeshChat::Node.all.map{ |n| "#{n.alias_name}" }
7
+ commands + aliases
8
+ end
9
+ end
10
+
11
+ # called every time meshchat wants a line of text from the user
12
+ def get_input
13
+ # update auto completion
14
+ completion = proc{ |s| self.class.autocompletes.grep(/^#{Regexp.escape(s)}/) }
15
+ Readline.completion_proc = completion
16
+
17
+ Readline.readline('> ', true)
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,56 @@
1
+ module SpicedRumby
2
+ class CLIOutput < MeshChat::Display::Base
3
+ def start
4
+ puts "\n"
5
+ alert 'Welcome to Spiced Rumby!'
6
+ puts "\n"
7
+ puts "\n"
8
+ yield if block_given?
9
+
10
+ MeshChat::CLI.listen_for_commands
11
+ end
12
+
13
+ # TODO: find a more elegant way to handle color
14
+ def add_line(line)
15
+ puts line
16
+ end
17
+
18
+ def info(msg)
19
+ puts msg.colorize(:light_black)
20
+ end
21
+
22
+ def warning(msg)
23
+ puts msg.colorize(:yellow)
24
+ end
25
+
26
+ def alert(msg)
27
+ puts msg.colorize(:red)
28
+ end
29
+
30
+ def success(msg)
31
+ puts msg.colorize(:green)
32
+ end
33
+
34
+ def chat(msg)
35
+ words = msg.split(' ')
36
+ time = words[0..1]
37
+ name = words[2]
38
+ message = words[3..words.length]
39
+
40
+ print (time.join(' ') + ' ').colorize(:light_magenta)
41
+ print (name + ' ').colorize(:cyan)
42
+ print message.join(' ') + "\n"
43
+ end
44
+
45
+ def whisper(msg)
46
+ words = msg.split(' ')
47
+ time = words[0..1]
48
+ name = words[2]
49
+ message = words[3..words.length]
50
+
51
+ print (time.join(' ') + ' ').colorize(:magenta)
52
+ print (name + ' ').colorize(:light_black)
53
+ print message.join(' ') + "\n"
54
+ end
55
+ end
56
+ end
@@ -0,0 +1,3 @@
1
+ module SpicedRumby
2
+ VERSION = '0.6.0'
3
+ end
@@ -0,0 +1,23 @@
1
+ # require the core functionality
2
+ require 'meshchat'
3
+
4
+ # additional functionality
5
+ require 'spiced_rumby/version'
6
+ require 'spiced_rumby/cli_input'
7
+ require 'spiced_rumby/cli_output'
8
+
9
+ module SpicedRumby
10
+ NAME = 'Spiced Rumby'
11
+
12
+ module_function
13
+
14
+ def start
15
+ MeshChat.start(
16
+ client_name: NAME,
17
+ client_version: VERSION,
18
+ display: CLIOutput,
19
+ input: CLIInput,
20
+ on_display_start: ->{ MeshChat::CLI.check_startup_settings }
21
+ )
22
+ end
23
+ end
data/run ADDED
@@ -0,0 +1,12 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ current_dir = File.dirname(__FILE__)
4
+ # set load path (similar to how gems require files (relative to lib))
5
+
6
+ lib = current_dir + '/lib/'
7
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
8
+
9
+
10
+ require current_dir + '/lib/spiced_rumby'
11
+
12
+ SpicedRumby.start
@@ -0,0 +1,41 @@
1
+ require 'rubygems'
2
+ require 'bundler/setup'
3
+
4
+ require 'pry-byebug' # binding.pry to debug!
5
+
6
+ # Coverage
7
+ ENV['CODECLIMATE_REPO_TOKEN'] = '18ddab0ec2f7be2430569f2ffc7dee169da139b792172d3992a6aacba1f50877'
8
+ require 'codeclimate-test-reporter'
9
+ CodeClimate::TestReporter.start
10
+
11
+ # This Gem
12
+ require 'spiced_rumby'
13
+
14
+ SimpleCov.start do
15
+ add_filter "/lib/spiced_rumby/display/bash/"
16
+ add_filter "/lib/spiced_rumby/display/null/"
17
+ add_filter "/lib/spiced_rumby/display/terminal_curses/"
18
+ end
19
+
20
+ Dir[File.dirname(__FILE__) + '/support/**/*.rb'].each { |file| require file }
21
+
22
+ # This file was generated by the `rspec --init` command. Conventionally, all
23
+ # specs live under a `spec` directory, which RSpec adds to the `$LOAD_PATH`.
24
+ # Require this file using `require "spec_helper"` to ensure that it is only
25
+ # loaded once.
26
+ #
27
+ # See http://rubydoc.info/gems/rspec-core/RSpec/Core/Configuration
28
+ RSpec::Expectations.configuration.warn_about_potential_false_positives = false
29
+ RSpec.configure do |config|
30
+ config.run_all_when_everything_filtered = true
31
+ config.filter_run :focus
32
+ # Run specs in random order to surface order dependencies. If you find an
33
+ # order dependency and want to debug it, you can fix the order by providing
34
+ # the seed, which is printed after each run.
35
+ # --seed 1234
36
+ config.order = 'random'
37
+
38
+ config.before(:each) do
39
+ setup_database
40
+ end
41
+ end
@@ -0,0 +1,19 @@
1
+ module MeshChatStub
2
+ module Display
3
+ # for testing!
4
+ module Null
5
+ class UI < MeshChat::Display::Base
6
+ def start(*args); args.join; end
7
+ def add_line(*args); args.join; end
8
+ def info(*args); args.join; end
9
+ def alert(*args); args.join; end
10
+ def success(*args); args.join; end
11
+ def chat(*args); args.join; end
12
+ def whisper(*args); args.join; end
13
+ def warning(*args); args.join; end
14
+ def log(*args); args.join; end
15
+ def error(*args); args.join; end
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,70 @@
1
+ def mock_settings_objects
2
+ delete_test_files
3
+
4
+ setup_database
5
+
6
+ allow(MeshChat::Cipher).to receive(:current_encryptor){
7
+ MeshChat::Encryption::Passthrough
8
+ }
9
+ MeshChat::Cipher.instance_variable_set('@current_encryptor', MeshChat::Encryption::Passthrough)
10
+
11
+
12
+ allow_any_instance_of(MeshChat::Config::Settings).to receive(:filename) { 'test-settings' }
13
+ s = MeshChat::Config::Settings.new
14
+ allow(MeshChat::Config::Settings).to receive(:instance) { s }
15
+
16
+
17
+ display_manager = MeshChat::Display::Manager.new(
18
+ MeshChatStub::Display::Null::UI
19
+ )
20
+
21
+ instance = MeshChat::Instance.new(
22
+ client_name: MeshChat::NAME, # name of your client
23
+ client_version: MeshChat::VERSION, # version of your client
24
+ #display: MeshChatStub::Display::Null::UI, # your class of your implementation of `Display::Base`
25
+ #on_display_start: ->{ MeshChat::CLI.check_startup_settings } # optional
26
+ )
27
+ MeshChat::Instance.instance_variable_set('@instance', instance)
28
+
29
+ allow(instance).to receive(:start_ui){ }
30
+ allow(instance).to receive(:display){ display_manager }
31
+ end
32
+
33
+ def delete_test_files
34
+ begin
35
+ File.delete('test.sqlite3') if File.exist?('test.sqlite3')
36
+ File.delete('test-hashfile') if File.exist?('test-hashfile')
37
+ File.delete('test-settings') if File.exist?('test-settings')
38
+ File.delete('test-activeserverlist') if File.exist?('test-activeserverlist')
39
+ rescue => e
40
+ # I wonder if this would be a problem?
41
+ ap e.message
42
+ end
43
+ end
44
+
45
+ def setup_database
46
+ # this method differs from the one defined on meshchat, in that
47
+ # in destroys all nodes and uses an in-memory db
48
+
49
+ ActiveRecord::Base.establish_connection(
50
+ :adapter => "sqlite3",
51
+ :database => ':memory:'
52
+ )
53
+
54
+ ActiveRecord::Migration.suppress_messages do
55
+ ActiveRecord::Schema.define do
56
+ unless table_exists? :entries
57
+ create_table :entries do |table|
58
+ table.column :alias_name, :string
59
+ table.column :location, :string
60
+ table.column :uid, :string
61
+ table.column :public_key, :string
62
+ table.column :online, :boolean, default: true, null: false
63
+ end
64
+ end
65
+ end
66
+ end
67
+
68
+ # just to be sure
69
+ MeshChat::Models::Entry.destroy_all
70
+ end
@@ -0,0 +1,32 @@
1
+ # -*- encoding: utf-8 -*-
2
+
3
+ # set load path so we can use gemspec with bundler
4
+ lib = File.expand_path('../lib', __FILE__)
5
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
6
+ require 'spiced_rumby/version'
7
+
8
+ Gem::Specification.new do |s|
9
+ s.name = 'spiced_rumby'
10
+ s.version = SpicedRumby::VERSION
11
+ s.platform = Gem::Platform::RUBY
12
+ s.license = 'MIT'
13
+ s.authors = ['L. Preston Sego III']
14
+ s.email = 'LPSego3+dev@gmail.com'
15
+ s.homepage = 'https://github.com/NullVoxPopuli/spiced_rumby'
16
+ s.summary = "SpicedRumby-#{SpicedRumby::VERSION}"
17
+ s.description = 'A mesh-chat Client in Ruby'
18
+
19
+ s.files = `git ls-files`.split($INPUT_RECORD_SEPARATOR)
20
+ s.executables = s.files.grep(%r{^bin/}).map { |f| File.basename(f) }
21
+ s.test_files = s.files.grep(%r{^(test|spec|features)/})
22
+ s.require_paths = ['lib']
23
+
24
+ s.required_ruby_version = '>= 2.0'
25
+
26
+ s.add_dependency 'meshchat'
27
+
28
+ s.add_development_dependency 'rspec'
29
+ s.add_development_dependency 'pry-byebug'
30
+ s.add_development_dependency 'codeclimate-test-reporter'
31
+ s.add_development_dependency 'rubocop'
32
+ end
metadata ADDED
@@ -0,0 +1,136 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: spiced_rumby
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.6.0
5
+ platform: ruby
6
+ authors:
7
+ - L. Preston Sego III
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2015-10-22 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: meshchat
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rspec
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: pry-byebug
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: codeclimate-test-reporter
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: rubocop
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ description: A mesh-chat Client in Ruby
84
+ email: LPSego3+dev@gmail.com
85
+ executables: []
86
+ extensions: []
87
+ extra_rdoc_files: []
88
+ files:
89
+ - ".codeclimate.yml"
90
+ - ".gitignore"
91
+ - ".rspec"
92
+ - ".rubocop.yml"
93
+ - ".travis.yml"
94
+ - Gemfile
95
+ - Gemfile.lock
96
+ - LICENSE
97
+ - README.md
98
+ - Rakefile
99
+ - lib/spiced_rumby.rb
100
+ - lib/spiced_rumby/cli_input.rb
101
+ - lib/spiced_rumby/cli_output.rb
102
+ - lib/spiced_rumby/version.rb
103
+ - run
104
+ - spec/spec_helper.rb
105
+ - spec/support/display/null/ui.rb
106
+ - spec/support/utils.rb
107
+ - spiced_rumby.gemspec
108
+ homepage: https://github.com/NullVoxPopuli/spiced_rumby
109
+ licenses:
110
+ - MIT
111
+ metadata: {}
112
+ post_install_message:
113
+ rdoc_options: []
114
+ require_paths:
115
+ - lib
116
+ required_ruby_version: !ruby/object:Gem::Requirement
117
+ requirements:
118
+ - - ">="
119
+ - !ruby/object:Gem::Version
120
+ version: '2.0'
121
+ required_rubygems_version: !ruby/object:Gem::Requirement
122
+ requirements:
123
+ - - ">="
124
+ - !ruby/object:Gem::Version
125
+ version: '0'
126
+ requirements: []
127
+ rubyforge_project:
128
+ rubygems_version: 2.4.7
129
+ signing_key:
130
+ specification_version: 4
131
+ summary: SpicedRumby-0.6.0
132
+ test_files:
133
+ - spec/spec_helper.rb
134
+ - spec/support/display/null/ui.rb
135
+ - spec/support/utils.rb
136
+ has_rdoc: