iching 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.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 4f9a82f761e76081b0956689942a5f39ac038b11
4
+ data.tar.gz: 9ed06448fb9f9451de1251006dc2d0139786b0ab
5
+ SHA512:
6
+ metadata.gz: 6a7be777ab09c1edccea54366f8823fe0a58cfd3d8e45572ccf1813d22b28c19b2c5f3c82319916098f75dbd0ede467a444a957a3640aea6d46c2cccc0717e3b
7
+ data.tar.gz: 2aac42a7e49b475204ba8f6d65e45e9f92a5a057c7b29003df924c57d488d6adf696d6dfa185582fec10272f930763871c58dbef0c08f4a4d5ff4ea5209028db
@@ -0,0 +1,4 @@
1
+ pkg
2
+ doc
3
+ Manifest
4
+ .DS_Store
@@ -1,33 +1,15 @@
1
1
  # -*- encoding: utf-8 -*-
2
-
3
2
  Gem::Specification.new do |s|
4
- s.name = "iching"
5
- s.version = "0.1.0"
6
-
7
- s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
8
- s.authors = ["Matt Mills"]
9
- s.date = "2011-10-08"
3
+ s.name = "iching"
4
+ s.version = "0.1.1"
5
+ s.platform = Gem::Platform::RUBY
6
+ s.authors = ["Matt Mills"]
7
+ s.email = ["sunrisetimes@gmail.com"]
8
+ s.homepage = "http://github.com/mattmills/iching"
9
+ s.summary = "tell the future (but not really)"
10
10
  s.description = "Generate an Iching hexagram and access various things about it."
11
- s.email = "sunrisetimes@gmail.com"
12
- s.executables = ["iching"]
13
- s.extra_rdoc_files = ["bin/iching", "lib/iching.rb"]
14
- s.files = ["Rakefile", "bin/iching", "lib/iching.rb", "readme.markdown", "Manifest", "iching.gemspec"]
15
- s.homepage = "https://github.com/mattmills/iching"
16
- s.rdoc_options = ["--line-numbers", "--inline-source", "--title", "Iching", "--main", "readme.markdown"]
11
+ s.add_runtime_dependency "backports"
12
+ s.files = `git ls-files`.split("\n")
13
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
17
14
  s.require_paths = ["lib"]
18
- s.rubyforge_project = "iching"
19
- s.rubygems_version = "1.8.10"
20
- s.summary = "Generate an Iching hexagram and access various things about it."
21
-
22
- if s.respond_to? :specification_version then
23
- s.specification_version = 3
24
-
25
- if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
26
- s.add_runtime_dependency(%q<backports>, [">= 0"])
27
- else
28
- s.add_dependency(%q<backports>, [">= 0"])
29
- end
30
- else
31
- s.add_dependency(%q<backports>, [">= 0"])
32
- end
33
15
  end
@@ -0,0 +1,24 @@
1
+ module Dictionaries
2
+
3
+ def hex
4
+ 6.times.map{ Random.new.rand(6..9) }.reverse
5
+ end
6
+
7
+ def list
8
+ {'111111'=> '1. Force (乾 qián); The Creative; Possessing Creative Power & Skill','000000'=> '2. Field (坤 kūn); The Receptive; Needing Knowledge & Skill; Do not force matters and go with the flow','100010'=> '3. Sprouting (屯 zhūn); Difficulty at the Beginning,; Sprouting ','010001'=> '4. Enveloping (蒙 méng); Youthful Folly; Detained,Enveloped and Inexperienced','111010'=> '5. Attending (需 xū); Waiting; Uninvolvement (Wait for now),Nourishment ','010111'=> '6. Arguing (訟 sòng); Conflict; Engagement in Conflict ','010000'=> '7. Leading (師 shī); The Army; Bringing Together,Teamwork ','000010'=> '8. Grouping (比 bǐ); Holding Together; Union ','111011'=> '9. Small Accumulating (小畜 xiǎo chù); Small Taming; Accumulating Resources','110111'=> '10. Treading (履 lǚ); Treading (Conduct); Continuing with Alertness','111000'=> '11. Pervading (泰 tài); Peace; Pervading','000111'=> '12. Obstruction (否 pǐ); Standstill; Stagnation','101111'=> '13. Concording People (同人 tóng rén); Fellowship; Fellowship,Partnership','111101'=> '14. Great Possessing (大有 dà yǒu); Great Possession; Independence,Freedom','001000'=> '15. Humbling (謙 qiān); Modesty; Being Reserved,Refraining','000100'=> '16. Providing-For (豫 yù); Enthusiasm; Inducement,New Stimulus','100110'=> '17. Following (隨 suí); Following; Following','011001'=> '18. Corrupting (蠱 gǔ); Work on the Decayed; Repairing','110000'=> '19. Nearing (臨 lín); Approach; Approaching Goal,Arriving ','000011'=> '20. Viewing (觀 guān); Contemplation; The Withholding','100101'=> '21. Gnawing Bite (噬嗑 shì kè); Biting Through; Deciding','101001'=> '22. Adorning (賁 bì); Grace; Embellishing','000001'=> '23. Stripping (剝 bō); Splitting Apart; Stripping,Flaying','100000'=> '24. Returning (復 fù); Return; Returning','100111'=> '25. Without Embroiling (無妄 wú wàng); Innocence; Without Rashness','111001'=> '26. Great Accumulating (大畜 dà chù); Great Taming; Accumulating Wisdom','100001'=> '27. Swallowing (頤 yí); Mouth Corners; Seeking Nourishment','011110'=> '28. Great Exceeding (大過 dà guò); Great Preponderance; Great Surpassing','010010'=> '29. Gorge (坎 kǎn); The Abysmal Water; Darkness,Gorge','101101'=> '30. Radiance (離 lí); The Clinging; Clinging,Attachment','001110'=> '31. Conjoining (咸 xián); Influence; Attraction','011100'=> '32. Persevering (恆 héng); Duration; Perseverance','001111'=> '33. Retiring (遯 dùn); Retreat; Withdrawing','111100'=> '34. Great Invigorating (大壯 dà zhuàng); Great Power; Great Boldness','000101'=> '35. Prospering (晉 jìn); Progress; Expansion,Promotion','101000'=> '36. Brightness Hiding (明夷 míng yí); Darkening of the Light; Brilliance Injured','101011'=> '37. Dwelling People (家人 jiā rén); The Family; Family','110101'=> '38. Polarising (睽 kuí); Opposition; Division,Divergence','001010'=> '39. Limping (蹇 jiǎn); Obstruction; Halting,Hardship','010100'=> '40. Taking-Apart (解 xiè); Deliverance; Liberation,Solution','110001'=> '41. Diminishing (損 sǔn); Decrease; Decrease','100011'=> '42. Augmenting (益 yì); Increase; Increase','111110'=> '43. Parting (夬 guài); Breakthrough; Separation','011111'=> '44. Coupling (姤 gòu); Coming to Meet; Encountering','000110'=> '45. Clustering (萃 cuì); Gathering Together; Association,Companionship','011000'=> '46. Ascending (升 shēng); Pushing Upward; Growing Upward','010110'=> '47. Confining (困 kùn); Oppression; Exhaustion','011010'=> '48. Welling (井 jǐng); The Well; Replenishing,Renewal','101110'=> '49. Skinning (革 gé); Revolution; Abolishing the Old','011101'=> '50. Holding (鼎 dǐng); The Cauldron; Establishing the New','100100'=> '51. Shake (震 zhèn); Arousing; Mobilizing','001001'=> '52. Bound (艮 gèn); The Keeping Still; Immobility','001011'=> '53. Infiltrating (漸 jiàn); Development; Auspicious Outlook,Infiltration','110100'=> '54. Converting The Maiden (歸妹 guī mèi); The Marrying Maiden; Marrying','101100'=> '55. Abounding (豐 fēng); Abundance; Goal Reached,Ambition Achieved','001101'=> '56. Sojourning (旅 lǚ); The Wanderer; Travel','011011'=> '57. Ground (巽 xùn); The Gentle; Subtle Influence','110110'=> '58. Open (兌 duì); The Joyous; Overt Influence','010011'=> '59. Dispersing (渙 huàn); Dispersion; Dispersal','110010'=> '60. Articulating (節 jié); Limitation; Discipline','110011'=> '61. Centre Confirming (中孚 zhōng fú); Inner Truth; Staying Focused,Avoid Misrepresentation','001100'=> '62. Small Exceeding (小過 xiǎo guò); Small Preponderance; Small Surpassing','101010'=> '63. Already_Fording (既濟 jì jì); After Completion; Completion','010101'=> '64. Not-Yet Fording (未濟 wèi jì); Before Completion; Incompletion'}
9
+ end
10
+ def hexagram1_key
11
+ { 6 => '-- --', 7 => '-----', 8 => '-- --', 9 => '-----'}
12
+ end
13
+
14
+ def hexagram2_key
15
+ { 6 => '-----', 7 => '-----', 8 => '-- --', 9 => '-- --'}
16
+ end
17
+
18
+ def binhex1_key
19
+ { 6 => '0', 7 => '1', 8 => '0', 9 => '1'}
20
+ end
21
+
22
+ def binhex2_key
23
+ { 6 => '1', 7 => '1', 8 => '0', 9 => '0'}
24
+ end
@@ -1,6 +1,7 @@
1
1
  #!/usr/bin/env ruby
2
2
  # encoding: UTF-8
3
3
  require 'rubygems'
4
+ require 'dictionaries.rb'
4
5
 
5
6
  #ruby version compatibility hax
6
7
  unless RUBY_VERSION.gsub(".","").to_i > 190
@@ -9,14 +10,8 @@ end
9
10
 
10
11
 
11
12
  class Iching
12
- def initialize()
13
- @hex = 6.times.map{ Random.new.rand(6..9) }.reverse
14
- @list = {'111111'=> '1. Force (乾 qián); The Creative; Possessing Creative Power & Skill','000000'=> '2. Field (坤 kūn); The Receptive; Needing Knowledge & Skill; Do not force matters and go with the flow','100010'=> '3. Sprouting (屯 zhūn); Difficulty at the Beginning,; Sprouting ','010001'=> '4. Enveloping (蒙 méng); Youthful Folly; Detained,Enveloped and Inexperienced','111010'=> '5. Attending (需 xū); Waiting; Uninvolvement (Wait for now),Nourishment ','010111'=> '6. Arguing (訟 sòng); Conflict; Engagement in Conflict ','010000'=> '7. Leading (師 shī); The Army; Bringing Together,Teamwork ','000010'=> '8. Grouping (比 bǐ); Holding Together; Union ','111011'=> '9. Small Accumulating (小畜 xiǎo chù); Small Taming; Accumulating Resources','110111'=> '10. Treading (履 lǚ); Treading (Conduct); Continuing with Alertness','111000'=> '11. Pervading (泰 tài); Peace; Pervading','000111'=> '12. Obstruction (否 pǐ); Standstill; Stagnation','101111'=> '13. Concording People (同人 tóng rén); Fellowship; Fellowship,Partnership','111101'=> '14. Great Possessing (大有 dà yǒu); Great Possession; Independence,Freedom','001000'=> '15. Humbling (謙 qiān); Modesty; Being Reserved,Refraining','000100'=> '16. Providing-For (豫 yù); Enthusiasm; Inducement,New Stimulus','100110'=> '17. Following (隨 suí); Following; Following','011001'=> '18. Corrupting (蠱 gǔ); Work on the Decayed; Repairing','110000'=> '19. Nearing (臨 lín); Approach; Approaching Goal,Arriving ','000011'=> '20. Viewing (觀 guān); Contemplation; The Withholding','100101'=> '21. Gnawing Bite (噬嗑 shì kè); Biting Through; Deciding','101001'=> '22. Adorning (賁 bì); Grace; Embellishing','000001'=> '23. Stripping (剝 bō); Splitting Apart; Stripping,Flaying','100000'=> '24. Returning (復 fù); Return; Returning','100111'=> '25. Without Embroiling (無妄 wú wàng); Innocence; Without Rashness','111001'=> '26. Great Accumulating (大畜 dà chù); Great Taming; Accumulating Wisdom','100001'=> '27. Swallowing (頤 yí); Mouth Corners; Seeking Nourishment','011110'=> '28. Great Exceeding (大過 dà guò); Great Preponderance; Great Surpassing','010010'=> '29. Gorge (坎 kǎn); The Abysmal Water; Darkness,Gorge','101101'=> '30. Radiance (離 lí); The Clinging; Clinging,Attachment','001110'=> '31. Conjoining (咸 xián); Influence; Attraction','011100'=> '32. Persevering (恆 héng); Duration; Perseverance','001111'=> '33. Retiring (遯 dùn); Retreat; Withdrawing','111100'=> '34. Great Invigorating (大壯 dà zhuàng); Great Power; Great Boldness','000101'=> '35. Prospering (晉 jìn); Progress; Expansion,Promotion','101000'=> '36. Brightness Hiding (明夷 míng yí); Darkening of the Light; Brilliance Injured','101011'=> '37. Dwelling People (家人 jiā rén); The Family; Family','110101'=> '38. Polarising (睽 kuí); Opposition; Division,Divergence','001010'=> '39. Limping (蹇 jiǎn); Obstruction; Halting,Hardship','010100'=> '40. Taking-Apart (解 xiè); Deliverance; Liberation,Solution','110001'=> '41. Diminishing (損 sǔn); Decrease; Decrease','100011'=> '42. Augmenting (益 yì); Increase; Increase','111110'=> '43. Parting (夬 guài); Breakthrough; Separation','011111'=> '44. Coupling (姤 gòu); Coming to Meet; Encountering','000110'=> '45. Clustering (萃 cuì); Gathering Together; Association,Companionship','011000'=> '46. Ascending (升 shēng); Pushing Upward; Growing Upward','010110'=> '47. Confining (困 kùn); Oppression; Exhaustion','011010'=> '48. Welling (井 jǐng); The Well; Replenishing,Renewal','101110'=> '49. Skinning (革 gé); Revolution; Abolishing the Old','011101'=> '50. Holding (鼎 dǐng); The Cauldron; Establishing the New','100100'=> '51. Shake (震 zhèn); Arousing; Mobilizing','001001'=> '52. Bound (艮 gèn); The Keeping Still; Immobility','001011'=> '53. Infiltrating (漸 jiàn); Development; Auspicious Outlook,Infiltration','110100'=> '54. Converting The Maiden (歸妹 guī mèi); The Marrying Maiden; Marrying','101100'=> '55. Abounding (豐 fēng); Abundance; Goal Reached,Ambition Achieved','001101'=> '56. Sojourning (旅 lǚ); The Wanderer; Travel','011011'=> '57. Ground (巽 xùn); The Gentle; Subtle Influence','110110'=> '58. Open (兌 duì); The Joyous; Overt Influence','010011'=> '59. Dispersing (渙 huàn); Dispersion; Dispersal','110010'=> '60. Articulating (節 jié); Limitation; Discipline','110011'=> '61. Centre Confirming (中孚 zhōng fú); Inner Truth; Staying Focused,Avoid Misrepresentation','001100'=> '62. Small Exceeding (小過 xiǎo guò); Small Preponderance; Small Surpassing','101010'=> '63. Already_Fording (既濟 jì jì); After Completion; Completion','010101'=> '64. Not-Yet Fording (未濟 wèi jì); Before Completion; Incompletion'}
15
- @hexagram1_key = { 6 => '-- --', 7 => '-----', 8 => '-- --', 9 => '-----'}
16
- @hexagram2_key = { 6 => '-----', 7 => '-----', 8 => '-- --', 9 => '-- --'}
17
- @binhex1_key = { 6 => '0', 7 => '1', 8 => '0', 9 => '1'}
18
- @binhex2_key = { 6 => '1', 7 => '1', 8 => '0', 9 => '0'}
19
- end
13
+ include Dictionaries
14
+
20
15
  def display
21
16
  if Random.new.rand(1..20) > 1
22
17
  puts hex_symbol, hex_name, hex_symbol(1), hex_name(1)
@@ -24,25 +19,28 @@ class Iching
24
19
  puts "A suffusion of yellow."
25
20
  end
26
21
  end
22
+
27
23
  def hex_name(hex = 0)
28
24
  bin_hex = ''
29
25
  if hex == 0
30
- @hex.each {|stick| bin_hex << @binhex1_key[stick]}
26
+ hex.each {|stick| bin_hex << binhex1_key[stick]}
31
27
  end
32
28
  if hex == 1
33
- @hex.each {|stick| bin_hex << @binhex2_key[stick]}
29
+ hex.each {|stick| bin_hex << binhex2_key[stick]}
34
30
  end
35
31
  bin_hex.reverse!
36
- return @list[bin_hex]
32
+ return list[bin_hex]
37
33
  end
34
+
38
35
  def hex_symbol(hex = 0)
39
36
  symbol = ''
40
37
  if hex == 0
41
- @hex.each {|stick| symbol << @hexagram1_key[stick] + "\n"}
38
+ hex.each {|stick| symbol << hexagram1_key[stick] + "\n"}
42
39
  end
43
40
  if hex == 1
44
- @hex.each {|stick| symbol << @hexagram2_key[stick] + "\n"}
41
+ hex.each {|stick| symbol << hexagram2_key[stick] + "\n"}
45
42
  end
46
43
  return symbol
47
44
  end
48
- end
45
+
46
+ end
metadata CHANGED
@@ -1,70 +1,65 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: iching
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
5
- prerelease:
4
+ version: 0.1.1
6
5
  platform: ruby
7
6
  authors:
8
7
  - Matt Mills
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2011-10-08 00:00:00.000000000Z
11
+ date: 2013-07-26 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: backports
16
- requirement: &2153506040 !ruby/object:Gem::Requirement
17
- none: false
15
+ requirement: !ruby/object:Gem::Requirement
18
16
  requirements:
19
- - - ! '>='
17
+ - - '>='
20
18
  - !ruby/object:Gem::Version
21
19
  version: '0'
22
20
  type: :runtime
23
21
  prerelease: false
24
- version_requirements: *2153506040
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - '>='
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
25
27
  description: Generate an Iching hexagram and access various things about it.
26
- email: sunrisetimes@gmail.com
28
+ email:
29
+ - sunrisetimes@gmail.com
27
30
  executables:
28
31
  - iching
29
32
  extensions: []
30
- extra_rdoc_files:
31
- - bin/iching
32
- - lib/iching.rb
33
+ extra_rdoc_files: []
33
34
  files:
35
+ - .gitignore
34
36
  - Rakefile
35
37
  - bin/iching
38
+ - iching.gemspec
39
+ - lib/dictionaries.rb
36
40
  - lib/iching.rb
37
41
  - readme.markdown
38
- - Manifest
39
- - iching.gemspec
40
- homepage: https://github.com/mattmills/iching
42
+ homepage: http://github.com/mattmills/iching
41
43
  licenses: []
44
+ metadata: {}
42
45
  post_install_message:
43
- rdoc_options:
44
- - --line-numbers
45
- - --inline-source
46
- - --title
47
- - Iching
48
- - --main
49
- - readme.markdown
46
+ rdoc_options: []
50
47
  require_paths:
51
48
  - lib
52
49
  required_ruby_version: !ruby/object:Gem::Requirement
53
- none: false
54
50
  requirements:
55
- - - ! '>='
51
+ - - '>='
56
52
  - !ruby/object:Gem::Version
57
53
  version: '0'
58
54
  required_rubygems_version: !ruby/object:Gem::Requirement
59
- none: false
60
55
  requirements:
61
- - - ! '>='
56
+ - - '>='
62
57
  - !ruby/object:Gem::Version
63
- version: '1.2'
58
+ version: '0'
64
59
  requirements: []
65
- rubyforge_project: iching
66
- rubygems_version: 1.8.10
60
+ rubyforge_project:
61
+ rubygems_version: 2.0.3
67
62
  signing_key:
68
- specification_version: 3
69
- summary: Generate an Iching hexagram and access various things about it.
63
+ specification_version: 4
64
+ summary: tell the future (but not really)
70
65
  test_files: []
data/Manifest DELETED
@@ -1,5 +0,0 @@
1
- Rakefile
2
- bin/iching
3
- lib/iching.rb
4
- readme.markdown
5
- Manifest