infinity2008 1.0.7 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
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