wc 0.94.2 → 0.95.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.
Files changed (6) hide show
  1. data/Rakefile +3 -3
  2. data/VERSION +1 -1
  3. data/bin/wc +3 -1
  4. data/lib/wc.rb +65 -15
  5. data/wc.gemspec +8 -11
  6. metadata +7 -23
data/Rakefile CHANGED
@@ -13,11 +13,11 @@ begin
13
13
  gem.add_development_dependency "thoughtbot-shoulda", ">= 0"
14
14
  # gem.add_development_dependency "getoptlong", ">=0"
15
15
  gem.add_development_dependency "builder", ">=2.1.2"
16
- gem.add_development_dependency "json", ">=1.4.3"
16
+ gem.add_development_dependency "json_pure", ">=1.4.3"
17
17
 
18
18
  # gem.add_dependency "getoptlong", ">=0"
19
- gem.add_dependency "builder", ">=2.1.2"
20
- gem.add_dependency "json", ">=1.4.3"
19
+ #gem.add_dependency "builder", ">=2.1.2"
20
+ gem.add_dependency "json_pure", ">=1.4.3"
21
21
 
22
22
  # gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
23
23
  end
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.94.2
1
+ 0.95.0
data/bin/wc CHANGED
@@ -54,7 +54,9 @@ else
54
54
  hide_list = []
55
55
  end
56
56
 
57
- w = Wc.new(ARGV[0], words, hide_list)
57
+ options = {"hide_list" => hide_list, "words"=>words}
58
+
59
+ w = Wc.new(ARGV[0], options )
58
60
 
59
61
 
60
62
 
data/lib/wc.rb CHANGED
@@ -1,22 +1,42 @@
1
1
  class Wc
2
- attr_reader :filename, :occurrences, :words
2
+ attr_reader :filename, :occurrences, :words, :no_autorun
3
3
  attr_accessor :hide_list
4
4
 
5
- def initialize(filename, words, hide_list)
5
+ # def initialize(filename, words, hide_list)
6
6
 
7
- if ! filename.nil?
8
- @filename = filename
9
- @occurrences = read
10
- else
11
- @filename = STDIN
12
- @occurrences = feed
13
- end
7
+ # if ! filename.nil?
8
+ # @filename = filename
9
+ # @occurrences = read
10
+ # else
11
+ # @filename = STDIN
12
+ # @occurrences = feed
13
+ # end
14
14
 
15
- @hide_list = hide_list
16
- @sorted = Array(occurrences).sort { |one, two| -(one[1] <=> two[1]) }
17
- @words = words
18
- end
15
+ # @hide_list = hide_list
16
+ # @sorted = Array(occurrences).sort { |one, two| -(one[1] <=> two[1]) }
17
+ # @words = words
18
+ #end
19
19
 
20
+ def initialize(filename=nil, options={})
21
+ @hide_list = options["hide_list"]
22
+ @words = options["words"]
23
+ @no_autorun = options["no_autorun"]
24
+
25
+ if ! @hide_list
26
+ @hide_list = []
27
+ end
28
+ p @no_autorun
29
+ if ! @no_autorun
30
+ if filename
31
+ @filename = filename
32
+ @occurrences = _read
33
+ else
34
+ @filename =STDIN
35
+ @occurrences = _feed
36
+ end
37
+ @sorted = Array(occurrences).sort { |one, two| -(one[1] <=> two[1]) }
38
+ end
39
+ end
20
40
 
21
41
  def to_text
22
42
  if @words == -1
@@ -54,9 +74,39 @@ class Wc
54
74
  ret
55
75
  end
56
76
 
77
+ def read(filename)
78
+ @occurrences = Hash.new { |h, k| h[k] = 0 }
79
+ File.open(filename, "r") { |f|
80
+ f.each_line { |line|
81
+ words = line.split
82
+ words.each { |w|
83
+ if ! hide_list.include?(w.downcase)
84
+ @occurrences[w.downcase] += 1
85
+ end
86
+ }
87
+ }
88
+ }
89
+ @occurrences
90
+ end
91
+
92
+ def feed(line)
93
+ @occurrences = Hash.new { |h, k| h[k] = 0 }
94
+ words = line.split
95
+ words.each { |w|
96
+ if ! hide_list.include?(w.downcase)
97
+ @occurrences[w.downcase] += 1
98
+ end
99
+ }
100
+ @occurrences
101
+ end
102
+
103
+ def get()
104
+ @sorted = Array(occurrences).sort { |one, two| -(one[1] <=> two[1]) }
105
+ end
106
+
57
107
  private
58
108
 
59
- def read()
109
+ def _read()
60
110
  occurrences = Hash.new { |h, k| h[k] = 0 }
61
111
  File.open(@filename, "r") { |f|
62
112
  f.each_line { |line|
@@ -71,7 +121,7 @@ class Wc
71
121
  occurrences
72
122
  end
73
123
 
74
- def feed()
124
+ def _feed()
75
125
  occurrences = Hash.new { |h, k| h[k] = 0 }
76
126
  filename.each_line { |line|
77
127
  words = line.split
data/wc.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{wc}
8
- s.version = "0.94.2"
8
+ s.version = "0.95.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Paolo Perego"]
12
- s.date = %q{2010-07-09}
12
+ s.date = %q{2010-07-12}
13
13
  s.default_executable = %q{wc}
14
14
  s.description = %q{your ruby word counter experience}
15
15
  s.email = %q{thesp0nge@gmail.com}
@@ -48,22 +48,19 @@ Gem::Specification.new do |s|
48
48
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
49
49
  s.add_development_dependency(%q<thoughtbot-shoulda>, [">= 0"])
50
50
  s.add_development_dependency(%q<builder>, [">= 2.1.2"])
51
- s.add_development_dependency(%q<json>, [">= 1.4.3"])
52
- s.add_runtime_dependency(%q<builder>, [">= 2.1.2"])
53
- s.add_runtime_dependency(%q<json>, [">= 1.4.3"])
51
+ s.add_development_dependency(%q<json_pure>, [">= 1.4.3"])
52
+ s.add_runtime_dependency(%q<json_pure>, [">= 1.4.3"])
54
53
  else
55
54
  s.add_dependency(%q<thoughtbot-shoulda>, [">= 0"])
56
55
  s.add_dependency(%q<builder>, [">= 2.1.2"])
57
- s.add_dependency(%q<json>, [">= 1.4.3"])
58
- s.add_dependency(%q<builder>, [">= 2.1.2"])
59
- s.add_dependency(%q<json>, [">= 1.4.3"])
56
+ s.add_dependency(%q<json_pure>, [">= 1.4.3"])
57
+ s.add_dependency(%q<json_pure>, [">= 1.4.3"])
60
58
  end
61
59
  else
62
60
  s.add_dependency(%q<thoughtbot-shoulda>, [">= 0"])
63
61
  s.add_dependency(%q<builder>, [">= 2.1.2"])
64
- s.add_dependency(%q<json>, [">= 1.4.3"])
65
- s.add_dependency(%q<builder>, [">= 2.1.2"])
66
- s.add_dependency(%q<json>, [">= 1.4.3"])
62
+ s.add_dependency(%q<json_pure>, [">= 1.4.3"])
63
+ s.add_dependency(%q<json_pure>, [">= 1.4.3"])
67
64
  end
68
65
  end
69
66
 
metadata CHANGED
@@ -5,9 +5,9 @@ version: !ruby/object:Gem::Version
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
- - 94
9
- - 2
10
- version: 0.94.2
8
+ - 95
9
+ - 0
10
+ version: 0.95.0
11
11
  platform: ruby
12
12
  authors:
13
13
  - Paolo Perego
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-07-09 00:00:00 +02:00
18
+ date: 2010-07-12 00:00:00 +02:00
19
19
  default_executable: wc
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
@@ -49,7 +49,7 @@ dependencies:
49
49
  type: :development
50
50
  version_requirements: *id002
51
51
  - !ruby/object:Gem::Dependency
52
- name: json
52
+ name: json_pure
53
53
  prerelease: false
54
54
  requirement: &id003 !ruby/object:Gem::Requirement
55
55
  none: false
@@ -65,25 +65,9 @@ dependencies:
65
65
  type: :development
66
66
  version_requirements: *id003
67
67
  - !ruby/object:Gem::Dependency
68
- name: builder
68
+ name: json_pure
69
69
  prerelease: false
70
70
  requirement: &id004 !ruby/object:Gem::Requirement
71
- none: false
72
- requirements:
73
- - - ">="
74
- - !ruby/object:Gem::Version
75
- hash: 15
76
- segments:
77
- - 2
78
- - 1
79
- - 2
80
- version: 2.1.2
81
- type: :runtime
82
- version_requirements: *id004
83
- - !ruby/object:Gem::Dependency
84
- name: json
85
- prerelease: false
86
- requirement: &id005 !ruby/object:Gem::Requirement
87
71
  none: false
88
72
  requirements:
89
73
  - - ">="
@@ -95,7 +79,7 @@ dependencies:
95
79
  - 3
96
80
  version: 1.4.3
97
81
  type: :runtime
98
- version_requirements: *id005
82
+ version_requirements: *id004
99
83
  description: your ruby word counter experience
100
84
  email: thesp0nge@gmail.com
101
85
  executables: