File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -13,6 +13,8 @@ module Typesense
1313require_relative 'typesense/document'
1414require_relative 'typesense/overrides'
1515require_relative 'typesense/override'
16+ require_relative 'typesense/synonyms'
17+ require_relative 'typesense/synonym'
1618require_relative 'typesense/aliases'
1719require_relative 'typesense/alias'
1820require_relative 'typesense/keys'
Original file line number Diff line number Diff line change 22
33module Typesense
44 class Collection
5- attr_reader :documents , :overrides
5+ attr_reader :documents , :overrides , :synonyms
66
77 def initialize ( name , api_call )
88 @name = name
99 @api_call = api_call
1010 @documents = Documents . new ( @name , @api_call )
1111 @overrides = Overrides . new ( @name , @api_call )
12+ @synonyms = Synonyms . new ( @name , @api_call )
1213 end
1314
1415 def retrieve
Original file line number Diff line number Diff line change 1+ # frozen_string_literal: true
2+
3+ module Typesense
4+ class Synonym
5+ def initialize ( collection_name , synonym_id , api_call )
6+ @collection_name = collection_name
7+ @synonym_id = synonym_id
8+ @api_call = api_call
9+ end
10+
11+ def retrieve
12+ @api_call . get ( endpoint_path )
13+ end
14+
15+ def delete
16+ @api_call . delete ( endpoint_path )
17+ end
18+
19+ private
20+
21+ def endpoint_path
22+ "#{ Collections ::RESOURCE_PATH } /#{ @collection_name } #{ Synonyms ::RESOURCE_PATH } /#{ @synonym_id } "
23+ end
24+ end
25+ end
Original file line number Diff line number Diff line change 1+ # frozen_string_literal: true
2+
3+ module Typesense
4+ class Synonyms
5+ RESOURCE_PATH = '/synonyms'
6+
7+ def initialize ( collection_name , api_call )
8+ @collection_name = collection_name
9+ @api_call = api_call
10+ @synonyms = { }
11+ end
12+
13+ def upsert ( synonym_id , params )
14+ @api_call . put ( endpoint_path ( synonym_id ) , params )
15+ end
16+
17+ def retrieve
18+ @api_call . get ( endpoint_path )
19+ end
20+
21+ def []( synonym_id )
22+ @synonyms [ synonym_id ] ||= Synonym . new ( @collection_name , synonym_id , @api_call )
23+ end
24+
25+ private
26+
27+ def endpoint_path ( operation = nil )
28+ "#{ Collections ::RESOURCE_PATH } /#{ @collection_name } #{ Synonyms ::RESOURCE_PATH } #{ operation . nil? ? '' : "/#{ operation } " } "
29+ end
30+ end
31+ end
You can’t perform that action at this time.
0 commit comments