yunhe 0.0.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.
Files changed (64) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +2 -0
  3. data/Gemfile +1 -0
  4. data/README.md +1 -0
  5. data/Rakefile +15 -0
  6. data/doc/Gemfile.html +87 -0
  7. data/doc/README_md.html +85 -0
  8. data/doc/Yunhe/Consumer.html +194 -0
  9. data/doc/Yunhe/Core.html +396 -0
  10. data/doc/Yunhe/Producer.html +194 -0
  11. data/doc/Yunhe.html +164 -0
  12. data/doc/created.rid +9 -0
  13. data/doc/css/fonts.css +167 -0
  14. data/doc/css/rdoc.css +590 -0
  15. data/doc/fonts/Lato-Light.ttf +0 -0
  16. data/doc/fonts/Lato-LightItalic.ttf +0 -0
  17. data/doc/fonts/Lato-Regular.ttf +0 -0
  18. data/doc/fonts/Lato-RegularItalic.ttf +0 -0
  19. data/doc/fonts/SourceCodePro-Bold.ttf +0 -0
  20. data/doc/fonts/SourceCodePro-Regular.ttf +0 -0
  21. data/doc/images/add.png +0 -0
  22. data/doc/images/arrow_up.png +0 -0
  23. data/doc/images/brick.png +0 -0
  24. data/doc/images/brick_link.png +0 -0
  25. data/doc/images/bug.png +0 -0
  26. data/doc/images/bullet_black.png +0 -0
  27. data/doc/images/bullet_toggle_minus.png +0 -0
  28. data/doc/images/bullet_toggle_plus.png +0 -0
  29. data/doc/images/date.png +0 -0
  30. data/doc/images/delete.png +0 -0
  31. data/doc/images/find.png +0 -0
  32. data/doc/images/loadingAnimation.gif +0 -0
  33. data/doc/images/macFFBgHack.png +0 -0
  34. data/doc/images/package.png +0 -0
  35. data/doc/images/page_green.png +0 -0
  36. data/doc/images/page_white_text.png +0 -0
  37. data/doc/images/page_white_width.png +0 -0
  38. data/doc/images/plugin.png +0 -0
  39. data/doc/images/ruby.png +0 -0
  40. data/doc/images/tag_blue.png +0 -0
  41. data/doc/images/tag_green.png +0 -0
  42. data/doc/images/transparent.png +0 -0
  43. data/doc/images/wrench.png +0 -0
  44. data/doc/images/wrench_orange.png +0 -0
  45. data/doc/images/zoom.png +0 -0
  46. data/doc/index.html +101 -0
  47. data/doc/js/darkfish.js +161 -0
  48. data/doc/js/jquery.js +4 -0
  49. data/doc/js/navigation.js +142 -0
  50. data/doc/js/navigation.js.gz +0 -0
  51. data/doc/js/search.js +109 -0
  52. data/doc/js/search_index.js +1 -0
  53. data/doc/js/search_index.js.gz +0 -0
  54. data/doc/js/searcher.js +228 -0
  55. data/doc/js/searcher.js.gz +0 -0
  56. data/doc/table_of_contents.html +101 -0
  57. data/doc/yunhe_gemspec.html +105 -0
  58. data/lib/yunhe/consumer.rb +24 -0
  59. data/lib/yunhe/core.rb +111 -0
  60. data/lib/yunhe/producer.rb +21 -0
  61. data/lib/yunhe/version.rb +3 -0
  62. data/lib/yunhe.rb +20 -0
  63. data/yunhe.gemspec +18 -0
  64. metadata +107 -0
@@ -0,0 +1,21 @@
1
+ module Yunhe
2
+ class Producer < Thread
3
+ attr_accessor :queue
4
+ attr_accessor :block
5
+
6
+ def initialize(queue, block)
7
+ super &(method(:job).to_proc)
8
+ @block = block
9
+ self.queue = queue
10
+ end
11
+
12
+ private
13
+ def job
14
+ while(true) do
15
+ rtn = block.call
16
+ queue.enq rtn
17
+ end
18
+ end
19
+
20
+ end
21
+ end
@@ -0,0 +1,3 @@
1
+ module Yunhe
2
+ VERSION = '0.0.1'
3
+ end
data/lib/yunhe.rb ADDED
@@ -0,0 +1,20 @@
1
+ module Yunhe
2
+ require 'yunhe/version'
3
+
4
+ autoload :Core, 'yunhe/core'
5
+
6
+ ##
7
+ # Default options for new yunhe
8
+
9
+ DEFAULT_OPTIONS = {
10
+ producer_size: 1,
11
+ consumer_size: 5,
12
+ queue_size: 100,
13
+ }
14
+
15
+ def self.build(options={})
16
+ options = DEFAULT_OPTIONS.merge(options)
17
+ return Core.new(options)
18
+ end
19
+
20
+ end
data/yunhe.gemspec ADDED
@@ -0,0 +1,18 @@
1
+ $LOAD_PATH.push File.expand_path('../lib', __FILE__)
2
+ require 'yunhe/version'
3
+
4
+ Gem::Specification.new do |s|
5
+ s.name = 'yunhe'
6
+ s.version = Yunhe::VERSION
7
+ s.date = '2015-03-31'
8
+ s.summary = "Yunhe"
9
+ s.description = "A light weight producer-consumer gem"
10
+ s.authors = ["Karloku Sang"]
11
+ s.email = 'karloku@loku.it'
12
+ s.files = `git ls-files`.split("\n")
13
+ s.homepage =
14
+ 'http://loku.it/yunhe'
15
+ s.license = 'MIT'
16
+
17
+ s.rdoc_options = ["--main", "README.md"]
18
+ end
metadata ADDED
@@ -0,0 +1,107 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: yunhe
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Karloku Sang
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2015-03-31 00:00:00.000000000 Z
12
+ dependencies: []
13
+ description: A light weight producer-consumer gem
14
+ email: karloku@loku.it
15
+ executables: []
16
+ extensions: []
17
+ extra_rdoc_files: []
18
+ files:
19
+ - ".gitignore"
20
+ - Gemfile
21
+ - README.md
22
+ - Rakefile
23
+ - doc/Gemfile.html
24
+ - doc/README_md.html
25
+ - doc/Yunhe.html
26
+ - doc/Yunhe/Consumer.html
27
+ - doc/Yunhe/Core.html
28
+ - doc/Yunhe/Producer.html
29
+ - doc/created.rid
30
+ - doc/css/fonts.css
31
+ - doc/css/rdoc.css
32
+ - doc/fonts/Lato-Light.ttf
33
+ - doc/fonts/Lato-LightItalic.ttf
34
+ - doc/fonts/Lato-Regular.ttf
35
+ - doc/fonts/Lato-RegularItalic.ttf
36
+ - doc/fonts/SourceCodePro-Bold.ttf
37
+ - doc/fonts/SourceCodePro-Regular.ttf
38
+ - doc/images/add.png
39
+ - doc/images/arrow_up.png
40
+ - doc/images/brick.png
41
+ - doc/images/brick_link.png
42
+ - doc/images/bug.png
43
+ - doc/images/bullet_black.png
44
+ - doc/images/bullet_toggle_minus.png
45
+ - doc/images/bullet_toggle_plus.png
46
+ - doc/images/date.png
47
+ - doc/images/delete.png
48
+ - doc/images/find.png
49
+ - doc/images/loadingAnimation.gif
50
+ - doc/images/macFFBgHack.png
51
+ - doc/images/package.png
52
+ - doc/images/page_green.png
53
+ - doc/images/page_white_text.png
54
+ - doc/images/page_white_width.png
55
+ - doc/images/plugin.png
56
+ - doc/images/ruby.png
57
+ - doc/images/tag_blue.png
58
+ - doc/images/tag_green.png
59
+ - doc/images/transparent.png
60
+ - doc/images/wrench.png
61
+ - doc/images/wrench_orange.png
62
+ - doc/images/zoom.png
63
+ - doc/index.html
64
+ - doc/js/darkfish.js
65
+ - doc/js/jquery.js
66
+ - doc/js/navigation.js
67
+ - doc/js/navigation.js.gz
68
+ - doc/js/search.js
69
+ - doc/js/search_index.js
70
+ - doc/js/search_index.js.gz
71
+ - doc/js/searcher.js
72
+ - doc/js/searcher.js.gz
73
+ - doc/table_of_contents.html
74
+ - doc/yunhe_gemspec.html
75
+ - lib/yunhe.rb
76
+ - lib/yunhe/consumer.rb
77
+ - lib/yunhe/core.rb
78
+ - lib/yunhe/producer.rb
79
+ - lib/yunhe/version.rb
80
+ - yunhe.gemspec
81
+ homepage: http://loku.it/yunhe
82
+ licenses:
83
+ - MIT
84
+ metadata: {}
85
+ post_install_message:
86
+ rdoc_options:
87
+ - "--main"
88
+ - README.md
89
+ require_paths:
90
+ - lib
91
+ required_ruby_version: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - ">="
94
+ - !ruby/object:Gem::Version
95
+ version: '0'
96
+ required_rubygems_version: !ruby/object:Gem::Requirement
97
+ requirements:
98
+ - - ">="
99
+ - !ruby/object:Gem::Version
100
+ version: '0'
101
+ requirements: []
102
+ rubyforge_project:
103
+ rubygems_version: 2.4.6
104
+ signing_key:
105
+ specification_version: 4
106
+ summary: Yunhe
107
+ test_files: []