infinity2008 1.0.7 → 1.1.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: d0a7a51d90438bc7f458afdae01302b9142d96b6
4
- data.tar.gz: aedd409fdf60351ab0d831b6d5fa39215fdd33b1
3
+ metadata.gz: 4e965fde008c1c365600d80284eb6a5cd5c6f43d
4
+ data.tar.gz: 504c0c7364fb9be1db6aec1f2b142e494d964887
5
5
  SHA512:
6
- metadata.gz: e2ce8a02f0c118623be77ca82d6dc7cd3cf2ae1350e1cff48d9b23c0ca51b464840177ff9236f499a7176e0372e0a4f1e949d864886c15a8f6217445828f7c17
7
- data.tar.gz: 921c5119448c4495cc2dd8ea59c2c9d809ffc3e9ff4ab86c759df6663b90edd98139d60a302802b316cf362e7d6dcf361b466c38ac0175375875e7283c428c67
6
+ metadata.gz: 470010b7f46b080b70454554f86d8a604bc63f55e3971e0dabe36c5aa1abfad6ab2f7cc7776818470a7da520c23c5736b30215b33bc59710bd4ad45a08857d46
7
+ data.tar.gz: 9242580bd7a74d6f79971c2c2e7eb96189b82c75a4f7802b06fcaf26f5ac7745fca50a533b8c33b12e044f310e8902f0500511b1fe97a3da0de0a6c22c217c22
data/bin/infinity2008 CHANGED
@@ -2,6 +2,21 @@
2
2
  $: << File.expand_path('../../lib', __FILE__)
3
3
  require 'infinity2008'
4
4
 
5
+ def version(do_exit = true)
6
+ puts "infinity2008 version #{Infinity2008::VERSION}"
7
+ exit 0 if do_exit
8
+ end
9
+
10
+ def help
11
+ version false
12
+ puts "\nusage: infinity2008 [option]\n\n" \
13
+ "Available options:\n" \
14
+ "\t--video\t\tOpen up a browser with the song's video\n" \
15
+ "\t--version\tShow this program's version\n" \
16
+ "\t--help\t\tShow this help screen\n"
17
+ exit 0
18
+ end
19
+
5
20
  def open_cmd
6
21
  case RbConfig::CONFIG['host_os']
7
22
  when /darwin/i
@@ -24,6 +39,8 @@ rescue
24
39
  end
25
40
 
26
41
  begin
42
+ help if ARGV.include? '--help'
43
+ version if ARGV.include? '--version'
27
44
  video Infinity2008::Song::URL if ARGV.include? '--video'
28
45
  Infinity2008::Song.sing
29
46
  rescue Interrupt
data/infinity2008.gemspec CHANGED
@@ -1,10 +1,11 @@
1
1
  # coding: utf-8
2
2
  lib = File.expand_path('../lib', __FILE__)
3
3
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'infinity2008/version'
4
5
 
5
6
  Gem::Specification.new do |spec|
6
7
  spec.name = 'infinity2008'
7
- spec.version = '1.0.7'
8
+ spec.version = Infinity2008::VERSION
8
9
  spec.authors = ["Alejandro Martinez Ruiz"]
9
10
  spec.email = ['alex@flawedcode.org']
10
11
  spec.description = %q{This gem makes Ruby sing along with you the Guru Project's Infinity 2008 (Klaas Vocal Edit) hit}
@@ -0,0 +1,59 @@
1
+ module Infinity2008
2
+ INFINITY = 2.times.map { :infinity } * ', '
3
+
4
+ class Freak
5
+ { key: ",\n", needs: " " }.each do |m, s|
6
+ (class << self; self; end).send :define_method, m do |arg|
7
+ define_method(m) { "#{m}#{s}#{arg}" }
8
+ end
9
+ end
10
+
11
+ def self.to_s
12
+ super.split(':').last
13
+ end
14
+ end
15
+
16
+ class You
17
+ { INFINITY => lambda { puts "... #{Float::INFINITY}!" },
18
+ relax!: lambda { puts; true },
19
+ time: lambda do
20
+ [lambda { |_| print '.'; sleep 1 }].cycle
21
+ end
22
+ }.each do |m, l|
23
+ define_method(m) { print "#{m} "; l.call }
24
+ end
25
+
26
+ def in?(o)
27
+ (@t ||= ([false] * Song::Duration).each).next
28
+ rescue
29
+ true.tap { puts " trust in #{o.class}" }
30
+ end
31
+
32
+ def method_missing(m, *args)
33
+ m == :find ? send(*args) : self
34
+ end
35
+ end
36
+
37
+ class Me < Freak
38
+ key :philosophy
39
+ needs :infinity
40
+
41
+ def infinity(you)
42
+ you.relax! and you.r.time.take_while { |time|
43
+ !you.trust.in? self and time.(goes_by: :naturally)
44
+ } and you.will.find INFINITY
45
+ end
46
+ end
47
+
48
+ module Song
49
+ Duration = 188
50
+ URL = 'https://www.youtube.com/watch?v=w9KnuJZkBjg'
51
+
52
+ def self.sing
53
+ me = Me.new
54
+ puts "Here's my #{me.key}\n\nA #{me.class.superclass} like" \
55
+ " #{me.class},\njust #{me.needs}\n"
56
+ me.send :infinity, You.new
57
+ end
58
+ end
59
+ end
@@ -0,0 +1,3 @@
1
+ module Infinity2008
2
+ VERSION = '1.1.0'
3
+ end
data/lib/infinity2008.rb CHANGED
@@ -1,59 +1,2 @@
1
- module Infinity2008
2
- INFINITY = 2.times.map { :infinity } * ', '
3
-
4
- class Freak
5
- { key: ",\n", needs: " " }.each do |m, s|
6
- (class << self; self; end).send :define_method, m do |arg|
7
- define_method(m) { "#{m}#{s}#{arg}" }
8
- end
9
- end
10
-
11
- def self.to_s
12
- super.split(':').last
13
- end
14
- end
15
-
16
- class You
17
- { INFINITY => lambda { puts "... #{Float::INFINITY}!" },
18
- relax!: lambda { puts; true },
19
- time: lambda do
20
- [lambda { |_| print '.'; sleep 1 }].cycle
21
- end
22
- }.each do |m, l|
23
- define_method(m) { print "#{m} "; l.call }
24
- end
25
-
26
- def in?(o)
27
- (@t ||= ([false] * Song::Duration).each).next
28
- rescue
29
- true.tap { puts " trust in #{o.class}" }
30
- end
31
-
32
- def method_missing(m, *args)
33
- m == :find ? send(*args) : self
34
- end
35
- end
36
-
37
- class Me < Freak
38
- key :philosophy
39
- needs :infinity
40
-
41
- def infinity(you)
42
- you.relax! and you.r.time.take_while { |time|
43
- !you.trust.in? self and time.(goes_by: :naturally)
44
- } and you.will.find INFINITY
45
- end
46
- end
47
-
48
- module Song
49
- Duration = 188
50
- URL = 'https://www.youtube.com/watch?v=w9KnuJZkBjg'
51
-
52
- def self.sing
53
- me = Me.new
54
- puts "Here's my #{me.key}\n\nA #{me.class.superclass} like" \
55
- " #{me.class},\njust #{me.needs}\n"
56
- me.send :infinity, You.new
57
- end
58
- end
59
- end
1
+ require 'infinity2008/infinity2008'
2
+ require 'infinity2008/version'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: infinity2008
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.7
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alejandro Martinez Ruiz
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-09-04 00:00:00.000000000 Z
11
+ date: 2014-09-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -72,6 +72,8 @@ files:
72
72
  - bin/infinity2008-dense
73
73
  - infinity2008.gemspec
74
74
  - lib/infinity2008.rb
75
+ - lib/infinity2008/infinity2008.rb
76
+ - lib/infinity2008/version.rb
75
77
  - spec/freak_spec.rb
76
78
  - spec/integration_spec.rb
77
79
  - spec/me_spec.rb