inputs 0.1.0 → 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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: a50fd879c69944fad054e0983b3bab7cae9ea75e
4
- data.tar.gz: ea699d2e36e45c04ddf7e16b88fb39cb3c558d99
3
+ metadata.gz: 81803c73d9c385182e658da5427ddb0e751bf7f7
4
+ data.tar.gz: 34f780896f20a7e2ffd9217268f899b52102e076
5
5
  SHA512:
6
- metadata.gz: aaca1b573e19cd0346316ddfee1cdf8ea7e304935af2f732a01a51a2e025bbb2812f9eae46b7550a1892c5b35e2bc1b9c5ec19de1f6ca57560cc6871f5938fd1
7
- data.tar.gz: dd24dd3fb5cd4ef71e6895460e540c29dbd71153514d15951daa241f27a45b214bebf7181b072473729f7a44f2ca66d7d330bf8996a8a32698c748cb78d98333
6
+ metadata.gz: 93911d3fbfd8558a9fd975021336153ca2068c6a8cb58656166179beae087a9bbeb69034c19a24f39a4d857ad1cedcc0e54c74726938995c70074bad2c568179
7
+ data.tar.gz: 41c90ac69ef580ff00647a1f01bae6787195ab7743e1cdf3e9d2d3eca9548fb811529026e822900852958285cfdde304212f3ef9d881f0eaab20d0eedfcb9247
@@ -1,4 +1,6 @@
1
1
  language: ruby
2
2
  rvm:
3
+ - 2.1.0
3
4
  - 2.2.3
5
+ - 2.3.0
4
6
  before_install: gem install bundler -v 1.11.2
data/README.md CHANGED
@@ -1,7 +1,16 @@
1
+ [![Build Status](https://travis-ci.org/equivalent/inputs.svg?branch=master)](https://travis-ci.org/equivalent/inputs)
2
+ ![Gittens](http://gittens.r15.railsrumble.com//badge/equivalent/inputs)
3
+ [![Open Thanks](https://thawing-falls-79026.herokuapp.com/images/thanks-2.svg)](https://thawing-falls-79026.herokuapp.com/r/fpjrqlob)
4
+
1
5
  # Inputs
2
6
 
3
7
  Really stupid primitive Gem that will handle some common console operations.
4
8
 
9
+ The gem aims to be really simple. If you looking for something more complex I recommend to use
10
+ [TTY](http://piotrmurach.github.io/tty/),[tty-prompt](https://github.com/piotrmurach/tty-prompt)
11
+
12
+ [Reddit discussion](https://www.reddit.com/r/ruby/comments/4i5dep/gem_inputs_another_pointless_gem_for_handling/)
13
+
5
14
  ```
6
15
  require 'inputs'
7
16
 
@@ -13,6 +22,10 @@ Inputs.name('What is your name')
13
22
  # What is your name
14
23
  # => String
15
24
 
25
+ Inputs.name!('Do you want to skip this question?')
26
+ # What is your name
27
+ # => String or Nil if no input
28
+
16
29
  Inputs.names('Names of your parents')
17
30
  # Names of your parents
18
31
  # => Array
@@ -31,17 +44,85 @@ Inputs.pick(['cat', 'dog'])
31
44
 
32
45
  ## Installation
33
46
 
34
- Gem is so primitive that I'm not even bothering to release it to Rubygems
47
+ Option 1:
48
+
49
+ `gem install inputs`
50
+
51
+ Option 2 (If you use `bundler`) :
35
52
 
36
53
  ```ruby
37
- gem 'inputs', github: 'equivalent/inputs'
54
+ # Gemfile
55
+ gem 'inputs'
38
56
  ```
39
57
 
40
58
  And then execute:
41
59
 
42
- $ bundle
60
+ ```bash
61
+ $ bundle
62
+ ```
63
+
64
+ ## Example
65
+
66
+ ```ruby
67
+ # foo.rb
68
+ require 'inputs'
69
+
70
+ class Foo
71
+ def call
72
+ name = Inputs.name("what is your name")
73
+
74
+ if Inputs.yn("Ok #{name}, do you want to learn music instrument?")
75
+ instrument = Inputs.pick(instrument_options)
76
+
77
+ case instrument
78
+ when drums
79
+ puts 'Metal dude ! \,,/'
80
+ when guitar
81
+ puts "Rock on dude !"
82
+ when harp
83
+ puts "W.T.F dude ?"
84
+ end
85
+ else
86
+ puts "Then go home #{name} !"
87
+ end
88
+ end
89
+
90
+ private
91
+ def instrument_options
92
+ [
93
+ drums,
94
+ guitar,
95
+ harp
96
+ ]
97
+ end
98
+
99
+ def drums
100
+ 'Drums'
101
+ end
102
+
103
+ def guitar
104
+ 'Guitar'
105
+ end
106
+
107
+ def harp
108
+ 'Harp'
109
+ end
110
+ end
111
+
112
+ Foo.new.call
113
+ ```
114
+
115
+ ![Inputs gem example](https://raw.githubusercontent.com/equivalent/scrapbook2/master/assets/images/2016/inptus-gem-example.png)
43
116
 
44
117
  ## License
45
118
 
46
119
  The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).
47
120
 
121
+ ## Contribution
122
+
123
+ I welcome any suggestions & Pull Requests. Currently there is not lot of
124
+ tests as I thought I will never release this lib so if you decide to do
125
+ a PR please write a test.
126
+
127
+ Thank you
128
+
@@ -23,4 +23,5 @@ Gem::Specification.new do |spec|
23
23
  spec.add_development_dependency "bundler", "~> 1.11"
24
24
  spec.add_development_dependency "rspec", "~> 3"
25
25
  spec.add_development_dependency "pry", "~> 0.10"
26
+ spec.add_development_dependency "rake", "~> 11.1"
26
27
  end
@@ -17,6 +17,7 @@ module Inputs
17
17
  end
18
18
  end
19
19
 
20
+ # Outputs a question and returns an input string. If no string is typed it returns empty string ("")
20
21
  def self.name(question)
21
22
  output question
22
23
  name = _input_evaluator.call
@@ -25,6 +26,17 @@ module Inputs
25
26
  name
26
27
  end
27
28
 
29
+ # Outputs a question and returns an input string. If no string is typed it returns nil
30
+ def self.name!(question)
31
+ output question
32
+ name = _input_evaluator.call
33
+ name = name.chomp
34
+ if name != ''
35
+ output name.green
36
+ name
37
+ end
38
+ end
39
+
28
40
  def self.names(question)
29
41
  output question + " (Comma separated)"
30
42
  names = _input_evaluator.call
@@ -1,3 +1,3 @@
1
1
  module Inputs
2
- VERSION = "0.1.0"
2
+ VERSION = "0.1.1"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: inputs
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tomas Valent
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-05-06 00:00:00.000000000 Z
11
+ date: 2017-08-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: colorize
@@ -66,6 +66,20 @@ dependencies:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0.10'
69
+ - !ruby/object:Gem::Dependency
70
+ name: rake
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '11.1'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '11.1'
69
83
  description: 'Stupid pointless gem for lazy Ruby developer to implement console interfaces
70
84
  for input fields like y/n questions, names, ... '
71
85
  email:
@@ -107,7 +121,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
107
121
  version: '0'
108
122
  requirements: []
109
123
  rubyforge_project:
110
- rubygems_version: 2.4.8
124
+ rubygems_version: 2.5.1
111
125
  signing_key:
112
126
  specification_version: 4
113
127
  summary: Pointless Gem for creating console input interfaces