elasticsearch-git 0.0.2 → 0.0.3

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: 743ab16ca2c38bbe9ab23dc7447c5c41d578f415
4
- data.tar.gz: 4fba8f5da92706100fa6b01e582cbcd16a83d5ad
3
+ metadata.gz: d6dfec96f6e2fbded64a0429c7b083aadf96234b
4
+ data.tar.gz: 8eb678cf43ecbb8aeabc1016e00f3b721010f269
5
5
  SHA512:
6
- metadata.gz: efe576c9de405aa4b22c89cfe21171d6de7ac5e686ed4207e73e085cf83d673b114dced51cc6ecb051b6f38aeba9227bf45619cd8f65b7a228101a703d250599
7
- data.tar.gz: 2e18154c17713a627d3d4b9519f279348bcdccd0779819e7164f1d01e9c62092dc8c5c408b34782e2f46f6c8778a8c52fa75a3985537fcfb30baa36c5088cd66
6
+ metadata.gz: b88db3a9d3647bcd9c3eae1039e7b2380e51fcbf4b02b242e2bda5acc2cff8c58b8d2a1ad2941fedb586f3cfd318f9c9b386fa9bcdfeaeabdaef616c3c891f38
7
+ data.tar.gz: 5b2fa5f90008f048b33627724847ca317e36e766fdbc4e9e185e8ba26c7edc16a4d3981a5e6577c4943cfad45fe3825694728ca9eef8a3927414ef8466f9ca55
data/README.md CHANGED
@@ -1,7 +1,5 @@
1
1
  # Elasticsearch::Git
2
2
 
3
- Attention: Pre-pre-pre beta code. Not production.
4
-
5
3
  [Elasticsearch](https://github.com/elasticsearch/elasticsearch-rails/tree/master/elasticsearch-model) integrations for git repositories
6
4
 
7
5
  ## Installation
@@ -67,8 +65,20 @@ module RepositoriesSearch
67
65
  project.id
68
66
  end
69
67
  end
70
- end
71
68
 
69
+ module ClassMethods
70
+ def import
71
+ Repository.__elasticsearch__.create_index! force: true
72
+
73
+ Project.find_each do |project|
74
+ if project.repository.exists? && !project.repository.empty?
75
+ project.repository.index_commits
76
+ project.repository.index_blobs
77
+ end
78
+ end
79
+ end
80
+ end
81
+ end
72
82
 
73
83
  # app/models/repository.rb
74
84
  class Repository
@@ -80,7 +90,9 @@ class Repository
80
90
  #...
81
91
  end
82
92
 
83
- Project.last.repository.__elasticsearch__.create_index! force: true
93
+ Repository.import # for indexing all repositories
94
+
95
+ Repository.__elasticsearch__.create_index! force: true
84
96
  Project.last.repository.index_commits
85
97
  Project.last.repository.index_blobs
86
98
 
@@ -57,7 +57,9 @@ module Elasticsearch
57
57
 
58
58
  if to_rev.present?
59
59
  begin
60
- raise unless repository_for_indexing.lookup(to_rev).type == :commit
60
+ if to_rev != "0000000000000000000000000000000000000000"
61
+ raise unless repository_for_indexing.lookup(to_rev).type == :commit
62
+ end
61
63
  rescue
62
64
  raise ArgumentError, "'to_rev': '#{to_rev}' is a incorrect commit sha."
63
65
  end
@@ -69,7 +71,9 @@ module Elasticsearch
69
71
 
70
72
  if from_rev.present?
71
73
  begin
72
- raise unless repository_for_indexing.lookup(from_rev).type == :commit
74
+ if from_rev != "0000000000000000000000000000000000000000"
75
+ raise unless repository_for_indexing.lookup(from_rev).type == :commit
76
+ end
73
77
  rescue
74
78
  raise ArgumentError, "'from_rev': '#{from_rev}' is a incorrect commit sha."
75
79
  end
@@ -163,15 +167,25 @@ module Elasticsearch
163
167
  #
164
168
  # For search from commits use type 'commit'
165
169
  def index_commits(from_rev: nil, to_rev: nil)
166
- if from_rev.present? && to_rev.present?
170
+ if to_rev.present?
167
171
  begin
168
- raise unless repository_for_indexing.lookup(from_rev).type == :commit
169
- raise unless repository_for_indexing.lookup(from_rev).type == :commit
172
+ if from_rev.present? && from_rev != "0000000000000000000000000000000000000000"
173
+ raise unless repository_for_indexing.lookup(from_rev).type == :commit
174
+ end
175
+ if to_rev != "0000000000000000000000000000000000000000"
176
+ raise unless repository_for_indexing.lookup(to_rev).type == :commit
177
+ end
170
178
  rescue
171
179
  raise ArgumentError, "'from_rev': '#{from_rev}' is a incorrect commit sha."
172
180
  end
173
181
 
174
- repository_for_indexing.walk(from_rev, to_rev).each do |commit|
182
+ walker = if from_rev == "0000000000000000000000000000000000000000" || from_rev.nil?
183
+ repository_for_indexing.walk(to_rev)
184
+ else
185
+ repository_for_indexing.walk(from_rev, to_rev)
186
+ end
187
+
188
+ walker.each do |commit|
175
189
  index_commit(commit)
176
190
  end
177
191
  else
@@ -456,7 +470,7 @@ module Elasticsearch
456
470
  private
457
471
 
458
472
  def clean(message)
459
- message.encode("UTF-16BE", :undef => :replace, :invalid => :replace, :replace => "")
473
+ message.encode("UTF-16BE", undef: :replace, invalid: :replace, replace: "")
460
474
  .encode("UTF-8")
461
475
  .gsub("\0".encode("UTF-8"), "")
462
476
  end
@@ -1,5 +1,5 @@
1
1
  module Elasticsearch
2
2
  module Git
3
- VERSION = "0.0.2"
3
+ VERSION = "0.0.3"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: elasticsearch-git
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andrey Kumanyaev
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-02-17 00:00:00.000000000 Z
11
+ date: 2014-02-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: elasticsearch-model