recommendify 0.3.1 → 0.3.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -2,9 +2,9 @@ class Recommendify::JaccardInputMatrix < Recommendify::InputMatrix
2
2
 
3
3
  include Recommendify::CCMatrix
4
4
 
5
- def initialize(opts={})
5
+ def initialize(opts={})
6
6
  check_native if opts[:native]
7
- super(opts)
7
+ super(opts)
8
8
  end
9
9
 
10
10
  def similarity(item1, item2)
@@ -12,7 +12,7 @@ class Recommendify::JaccardInputMatrix < Recommendify::InputMatrix
12
12
  end
13
13
 
14
14
  def similarities_for(item1)
15
- return run_native(item1) if @opts[:native]
15
+ return run_native(item1) if @opts[:native]
16
16
  calculate_similarities(item1)
17
17
  end
18
18
 
@@ -35,6 +35,7 @@ private
35
35
 
36
36
  def run_native(item_id)
37
37
  res = %x{#{native_path} --jaccard "#{redis_key}" "#{item_id}" "#{redis_url}"}
38
+ raise "error: dirty exit (#{$?})" if $? != 0
38
39
  res.split("\n").map do |line|
39
40
  sim = line.match(/OUT: \(([^\)]*)\) \(([^\)]*)\)/)
40
41
  raise "error: #{res}" unless sim
@@ -55,4 +56,4 @@ private
55
56
  Recommendify.redis.client.location
56
57
  end
57
58
 
58
- end
59
+ end
data/recommendify.gemspec CHANGED
@@ -3,7 +3,7 @@ $:.push File.expand_path("../lib", __FILE__)
3
3
 
4
4
  Gem::Specification.new do |s|
5
5
  s.name = "recommendify"
6
- s.version = "0.3.1"
6
+ s.version = "0.3.2"
7
7
  s.date = Date.today.to_s
8
8
  s.platform = Gem::Platform::RUBY
9
9
  s.authors = ["Paul Asmuth"]
@@ -12,11 +12,11 @@ Gem::Specification.new do |s|
12
12
  s.summary = %q{ruby/redis based recommendation engine (collaborative filtering)}
13
13
  s.description = %q{Recommendify is a distributed, incremental item-based recommendation engine for binary input ratings. It's based on ruby and redis and uses an approach called "Collaborative Filtering"}
14
14
  s.licenses = ["MIT"]
15
-
15
+
16
16
  s.extensions = ['ext/extconf.rb']
17
17
 
18
18
  s.add_dependency "redis", ">= 2.2.2"
19
-
19
+
20
20
  s.add_development_dependency "rspec", "~> 2.8.0"
21
21
 
22
22
  s.files = `git ls-files`.split("\n") - [".gitignore", ".rspec", ".travis.yml"]
@@ -56,6 +56,9 @@ describe Recommendify::JaccardInputMatrix do
56
56
  end
57
57
 
58
58
  it "should call run_native when the native option was passed" do
59
+ Recommendify::JaccardInputMatrix.class_eval do
60
+ def check_native; true; end
61
+ end
59
62
  matrix = Recommendify::JaccardInputMatrix.new(
60
63
  :redis_prefix => "recommendify-test",
61
64
  :native => true,
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: recommendify
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.1
4
+ version: 0.3.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-03-09 00:00:00.000000000 Z
12
+ date: 2012-03-12 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: redis
16
- requirement: &6965060 !ruby/object:Gem::Requirement
16
+ requirement: &11718500 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: 2.2.2
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *6965060
24
+ version_requirements: *11718500
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: rspec
27
- requirement: &6964420 !ruby/object:Gem::Requirement
27
+ requirement: &11717900 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ~>
@@ -32,7 +32,7 @@ dependencies:
32
32
  version: 2.8.0
33
33
  type: :development
34
34
  prerelease: false
35
- version_requirements: *6964420
35
+ version_requirements: *11717900
36
36
  description: Recommendify is a distributed, incremental item-based recommendation
37
37
  engine for binary input ratings. It's based on ruby and redis and uses an approach
38
38
  called "Collaborative Filtering"