jakewendt-active_record_sunspotter 0.0.12 → 4.0.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: efc5d2892a72ebadab5312d46eb1bab1d30821be
4
- data.tar.gz: f58e5becead798a846087b9ce8641ac8a705b90e
3
+ metadata.gz: 1cbf38085cf568de0799a1f8ce7ebb52545b26ff
4
+ data.tar.gz: ce140ffcd58a91c4eb55e5a4b8a2861e723bb8f7
5
5
  SHA512:
6
- metadata.gz: 15fd738ed93098d20eb9e563c73f90f7d0818e1e8956fefd2ad5bf4b54de3f4f4752597a66a7053dee7e7ec0bf672bb1112337b4e16ea086c02f725c931c50a8
7
- data.tar.gz: 3f6705aa87f2e0a77ea34f37b9f14bf43f90f179d41b019da958f61b2613eb8797066536e484cc5e2ea51ff65d456abd389275a55358e636362781c54a7d92e9
6
+ metadata.gz: 84df83b33a7dcd53314a4561054c45d46007b879dbcd7e2867f1fd2cf09cdc3ea3502decf9fdedf8d9d83bf2f808a0457b1be5d40b7d1ef2d8be0336fe090cff
7
+ data.tar.gz: 47eba5dffe54913b9f5b99b5974f23a87622913f67f9a61e11f01f44ede4a8754ce2f4feb809fc3d625ef7f7936e6f4dd9e9ab101028ce6bb5b90134cdfee111
@@ -10,9 +10,20 @@ require 'active_record_sunspotter/search_sunspot_for'
10
10
  require 'active_record_sunspotter/sunspot_helper'
11
11
 
12
12
 
13
+ # sunspot_rails_2.0.0 uses methods that are deprecated in rails 4
14
+ # sunspot_rails_2.1.0 (or sunspot_2.1.0 or sunspot_solr_2.1.0) won't compile (java issues)
15
+ # copied in this 1 file
16
+ require 'active_record_sunspotter/sunspot_rails_2.1.0_sunspot_rails_adapters'
17
+
18
+
13
19
  if defined?(Rails)
14
20
  require 'active_record_sunspotter/rails/engine'
15
21
  require 'active_record_sunspotter/rails/railtie'
16
22
 
23
+ # sunspot_solr-2.0.0 uses "Rails::VERSION::MAJOR == 3" which stops tasks from loading.
24
+ #if defined?(Rails::Railtie)
25
+ require 'sunspot/solr/railtie'
26
+ #end
27
+
17
28
  ActionController::Base.append_view_path( File.join(File.dirname(__FILE__), '../vendor/views'))
18
29
  end
@@ -0,0 +1,90 @@
1
+ module Sunspot #:nodoc:
2
+ module Rails #:nodoc:
3
+ #
4
+ # This module provides Sunspot Adapter implementations for ActiveRecord
5
+ # models.
6
+ #
7
+ module Adapters
8
+ class ActiveRecordInstanceAdapter < Sunspot::Adapters::InstanceAdapter
9
+ #
10
+ # Return the primary key for the adapted instance
11
+ #
12
+ # ==== Returns
13
+ #
14
+ # Integer:: Database ID of model
15
+ #
16
+ def id
17
+ @instance.id
18
+ end
19
+ end
20
+
21
+ class ActiveRecordDataAccessor < Sunspot::Adapters::DataAccessor
22
+ # options for the find
23
+ attr_accessor :include
24
+ attr_reader :select
25
+
26
+ def initialize(clazz)
27
+ super(clazz)
28
+ @inherited_attributes = [:include, :select]
29
+ end
30
+
31
+ #
32
+ # Set the fields to select from the database. This will be passed
33
+ # to ActiveRecord.
34
+ #
35
+ # ==== Parameters
36
+ #
37
+ # value<Mixed>:: String of comma-separated columns or array of columns
38
+ #
39
+ def select=(value)
40
+ value = value.join(', ') if value.respond_to?(:join)
41
+ @select = value
42
+ end
43
+
44
+ #
45
+ # Get one ActiveRecord instance out of the database by ID
46
+ #
47
+ # ==== Parameters
48
+ #
49
+ # id<String>:: Database ID of model to retreive
50
+ #
51
+ # ==== Returns
52
+ #
53
+ # ActiveRecord::Base:: ActiveRecord model
54
+ #
55
+ def load(id)
56
+ @clazz.where(@clazz.primary_key => id).merge(scope_for_load).first
57
+ end
58
+
59
+ #
60
+ # Get a collection of ActiveRecord instances out of the database by ID
61
+ #
62
+ # ==== Parameters
63
+ #
64
+ # ids<Array>:: Database IDs of models to retrieve
65
+ #
66
+ # ==== Returns
67
+ #
68
+ # Array:: Collection of ActiveRecord models
69
+ #
70
+ def load_all(ids)
71
+ @clazz.where(@clazz.primary_key => ids).merge(scope_for_load)
72
+ end
73
+
74
+ private
75
+
76
+ def scope_for_load
77
+ scope = relation
78
+ scope = scope.includes(@include) if @include.present?
79
+ scope = scope.select(@select) if @select.present?
80
+ scope
81
+ end
82
+
83
+ # COMPATIBILITY: Rails 4 has deprecated the 'scoped' method in favour of 'all'
84
+ def relation
85
+ ::Rails.version >= '4' ? @clazz.all : @clazz.scoped
86
+ end
87
+ end
88
+ end
89
+ end
90
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jakewendt-active_record_sunspotter
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.12
4
+ version: 4.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - George 'Jake' Wendt
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-03-04 00:00:00.000000000 Z
11
+ date: 2014-03-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: sunspot_rails
@@ -42,14 +42,14 @@ dependencies:
42
42
  name: progress_bar
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - '>='
45
+ - - ">="
46
46
  - !ruby/object:Gem::Version
47
47
  version: '0'
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - '>='
52
+ - - ">="
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
55
  description: active_record_sunspotter
@@ -65,6 +65,7 @@ files:
65
65
  - lib/active_record_sunspotter/search_sunspot_for.rb
66
66
  - lib/active_record_sunspotter/sunspot_column.rb
67
67
  - lib/active_record_sunspotter/sunspot_helper.rb
68
+ - lib/active_record_sunspotter/sunspot_rails_2.1.0_sunspot_rails_adapters.rb
68
69
  - lib/active_record_sunspotter/sunspot_rails_server.rb
69
70
  - lib/active_record_sunspotter/sunspotability.rb
70
71
  - lib/jakewendt-active_record_sunspotter.rb
@@ -93,12 +94,12 @@ require_paths:
93
94
  - lib
94
95
  required_ruby_version: !ruby/object:Gem::Requirement
95
96
  requirements:
96
- - - '>='
97
+ - - ">="
97
98
  - !ruby/object:Gem::Version
98
99
  version: '0'
99
100
  required_rubygems_version: !ruby/object:Gem::Requirement
100
101
  requirements:
101
- - - '>='
102
+ - - ">="
102
103
  - !ruby/object:Gem::Version
103
104
  version: '0'
104
105
  requirements: []