elasticsearch-api 7.5.0 → 7.8.0.pre

Sign up to get free protection for your applications and to get access to all the features.
Files changed (317) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +25 -8
  3. data/Rakefile +17 -4
  4. data/elasticsearch-api.gemspec +56 -59
  5. data/lib/elasticsearch-api.rb +16 -3
  6. data/lib/elasticsearch/api.rb +18 -4
  7. data/lib/elasticsearch/api/actions/abort_benchmark.rb +16 -3
  8. data/lib/elasticsearch/api/actions/benchmark.rb +16 -3
  9. data/lib/elasticsearch/api/actions/bulk.rb +23 -7
  10. data/lib/elasticsearch/api/actions/cat/aliases.rb +26 -7
  11. data/lib/elasticsearch/api/actions/cat/allocation.rb +22 -7
  12. data/lib/elasticsearch/api/actions/cat/count.rb +22 -7
  13. data/lib/elasticsearch/api/actions/cat/fielddata.rb +22 -7
  14. data/lib/elasticsearch/api/actions/cat/health.rb +23 -8
  15. data/lib/elasticsearch/api/actions/cat/help.rb +21 -6
  16. data/lib/elasticsearch/api/actions/cat/indices.rb +28 -9
  17. data/lib/elasticsearch/api/actions/cat/master.rb +21 -6
  18. data/lib/elasticsearch/api/actions/cat/nodeattrs.rb +21 -6
  19. data/lib/elasticsearch/api/actions/cat/nodes.rb +23 -8
  20. data/lib/elasticsearch/api/actions/cat/params_registry.rb +16 -3
  21. data/lib/elasticsearch/api/actions/cat/pending_tasks.rb +23 -8
  22. data/lib/elasticsearch/api/actions/cat/plugins.rb +21 -6
  23. data/lib/elasticsearch/api/actions/cat/recovery.rb +23 -8
  24. data/lib/elasticsearch/api/actions/cat/repositories.rb +21 -6
  25. data/lib/elasticsearch/api/actions/cat/segments.rb +22 -7
  26. data/lib/elasticsearch/api/actions/cat/shards.rb +23 -8
  27. data/lib/elasticsearch/api/actions/cat/snapshots.rb +23 -8
  28. data/lib/elasticsearch/api/actions/cat/tasks.rb +22 -7
  29. data/lib/elasticsearch/api/actions/cat/templates.rb +22 -7
  30. data/lib/elasticsearch/api/actions/cat/thread_pool.rb +23 -8
  31. data/lib/elasticsearch/api/actions/clear_scroll.rb +22 -7
  32. data/lib/elasticsearch/api/actions/cluster/allocation_explain.rb +21 -6
  33. data/lib/elasticsearch/api/actions/cluster/delete_component_template.rb +58 -0
  34. data/lib/elasticsearch/api/actions/cluster/delete_voting_config_exclusions.rb +51 -0
  35. data/lib/elasticsearch/api/actions/cluster/exists_component_template.rb +59 -0
  36. data/lib/elasticsearch/api/actions/cluster/get_component_template.rb +60 -0
  37. data/lib/elasticsearch/api/actions/cluster/get_settings.rb +21 -6
  38. data/lib/elasticsearch/api/actions/cluster/health.rb +23 -7
  39. data/lib/elasticsearch/api/actions/cluster/params_registry.rb +16 -3
  40. data/lib/elasticsearch/api/actions/cluster/pending_tasks.rb +21 -6
  41. data/lib/elasticsearch/api/actions/cluster/post_voting_config_exclusions.rb +55 -0
  42. data/lib/elasticsearch/api/actions/cluster/put_component_template.rb +62 -0
  43. data/lib/elasticsearch/api/actions/cluster/put_settings.rb +21 -6
  44. data/lib/elasticsearch/api/actions/cluster/remote_info.rb +21 -6
  45. data/lib/elasticsearch/api/actions/cluster/reroute.rb +21 -6
  46. data/lib/elasticsearch/api/actions/cluster/state.rb +23 -7
  47. data/lib/elasticsearch/api/actions/cluster/stats.rb +22 -7
  48. data/lib/elasticsearch/api/actions/count.rb +24 -9
  49. data/lib/elasticsearch/api/actions/create.rb +18 -5
  50. data/lib/elasticsearch/api/actions/delete.rb +22 -6
  51. data/lib/elasticsearch/api/actions/delete_by_query.rb +25 -8
  52. data/lib/elasticsearch/api/actions/delete_by_query_rethrottle.rb +21 -6
  53. data/lib/elasticsearch/api/actions/delete_by_rethrottle.rb +16 -3
  54. data/lib/elasticsearch/api/actions/delete_script.rb +21 -6
  55. data/lib/elasticsearch/api/actions/exists.rb +21 -5
  56. data/lib/elasticsearch/api/actions/exists_source.rb +21 -5
  57. data/lib/elasticsearch/api/actions/explain.rb +21 -6
  58. data/lib/elasticsearch/api/actions/field_caps.rb +23 -8
  59. data/lib/elasticsearch/api/actions/get.rb +22 -6
  60. data/lib/elasticsearch/api/actions/get_script.rb +21 -6
  61. data/lib/elasticsearch/api/actions/get_script_context.rb +41 -0
  62. data/lib/elasticsearch/api/actions/get_script_languages.rb +41 -0
  63. data/lib/elasticsearch/api/actions/get_source.rb +21 -5
  64. data/lib/elasticsearch/api/actions/index.rb +21 -6
  65. data/lib/elasticsearch/api/actions/indices/analyze.rb +22 -7
  66. data/lib/elasticsearch/api/actions/indices/clear_cache.rb +23 -8
  67. data/lib/elasticsearch/api/actions/indices/clone.rb +21 -6
  68. data/lib/elasticsearch/api/actions/indices/close.rb +22 -7
  69. data/lib/elasticsearch/api/actions/indices/create.rb +21 -6
  70. data/lib/elasticsearch/api/actions/indices/create_data_stream.rb +50 -0
  71. data/lib/elasticsearch/api/actions/indices/delete.rb +23 -7
  72. data/lib/elasticsearch/api/actions/indices/delete_alias.rb +21 -6
  73. data/lib/elasticsearch/api/actions/indices/delete_data_stream.rb +48 -0
  74. data/lib/elasticsearch/api/actions/indices/delete_index_template.rb +58 -0
  75. data/lib/elasticsearch/api/actions/indices/delete_template.rb +22 -7
  76. data/lib/elasticsearch/api/actions/indices/exists.rb +22 -7
  77. data/lib/elasticsearch/api/actions/indices/exists_alias.rb +22 -7
  78. data/lib/elasticsearch/api/actions/indices/exists_index_template.rb +61 -0
  79. data/lib/elasticsearch/api/actions/indices/exists_template.rb +21 -6
  80. data/lib/elasticsearch/api/actions/indices/exists_type.rb +22 -7
  81. data/lib/elasticsearch/api/actions/indices/flush.rb +23 -7
  82. data/lib/elasticsearch/api/actions/indices/flush_synced.rb +24 -8
  83. data/lib/elasticsearch/api/actions/indices/forcemerge.rb +23 -8
  84. data/lib/elasticsearch/api/actions/indices/freeze.rb +17 -0
  85. data/lib/elasticsearch/api/actions/indices/get.rb +22 -7
  86. data/lib/elasticsearch/api/actions/indices/get_alias.rb +23 -8
  87. data/lib/elasticsearch/api/actions/indices/get_data_streams.rb +50 -0
  88. data/lib/elasticsearch/api/actions/indices/get_field_mapping.rb +22 -7
  89. data/lib/elasticsearch/api/actions/indices/get_index_template.rb +62 -0
  90. data/lib/elasticsearch/api/actions/indices/get_mapping.rb +23 -8
  91. data/lib/elasticsearch/api/actions/indices/get_settings.rb +23 -8
  92. data/lib/elasticsearch/api/actions/indices/get_template.rb +22 -7
  93. data/lib/elasticsearch/api/actions/indices/get_upgrade.rb +23 -7
  94. data/lib/elasticsearch/api/actions/indices/open.rb +22 -7
  95. data/lib/elasticsearch/api/actions/indices/params_registry.rb +16 -3
  96. data/lib/elasticsearch/api/actions/indices/put_alias.rb +21 -6
  97. data/lib/elasticsearch/api/actions/indices/put_index_template.rb +62 -0
  98. data/lib/elasticsearch/api/actions/indices/put_mapping.rb +24 -10
  99. data/lib/elasticsearch/api/actions/indices/put_settings.rb +22 -7
  100. data/lib/elasticsearch/api/actions/indices/put_template.rb +22 -11
  101. data/lib/elasticsearch/api/actions/indices/recovery.rb +22 -7
  102. data/lib/elasticsearch/api/actions/indices/refresh.rb +23 -7
  103. data/lib/elasticsearch/api/actions/indices/rollover.rb +21 -6
  104. data/lib/elasticsearch/api/actions/indices/segments.rb +23 -8
  105. data/lib/elasticsearch/api/actions/indices/shard_stores.rb +23 -7
  106. data/lib/elasticsearch/api/actions/indices/shrink.rb +21 -6
  107. data/lib/elasticsearch/api/actions/indices/simulate_index_template.rb +61 -0
  108. data/lib/elasticsearch/api/actions/indices/split.rb +21 -6
  109. data/lib/elasticsearch/api/actions/indices/stats.rb +22 -7
  110. data/lib/elasticsearch/api/actions/indices/unfreeze.rb +17 -0
  111. data/lib/elasticsearch/api/actions/indices/update_aliases.rb +21 -6
  112. data/lib/elasticsearch/api/actions/indices/upgrade.rb +23 -8
  113. data/lib/elasticsearch/api/actions/indices/validate_query.rb +23 -8
  114. data/lib/elasticsearch/api/actions/info.rb +21 -6
  115. data/lib/elasticsearch/api/actions/ingest/delete_pipeline.rb +21 -6
  116. data/lib/elasticsearch/api/actions/ingest/get_pipeline.rb +22 -7
  117. data/lib/elasticsearch/api/actions/ingest/params_registry.rb +16 -3
  118. data/lib/elasticsearch/api/actions/ingest/processor_grok.rb +21 -6
  119. data/lib/elasticsearch/api/actions/ingest/put_pipeline.rb +21 -6
  120. data/lib/elasticsearch/api/actions/ingest/simulate.rb +21 -6
  121. data/lib/elasticsearch/api/actions/mget.rb +21 -6
  122. data/lib/elasticsearch/api/actions/msearch.rb +23 -7
  123. data/lib/elasticsearch/api/actions/msearch_template.rb +25 -7
  124. data/lib/elasticsearch/api/actions/mtermvectors.rb +22 -6
  125. data/lib/elasticsearch/api/actions/nodes/hot_threads.rb +22 -7
  126. data/lib/elasticsearch/api/actions/nodes/info.rb +22 -7
  127. data/lib/elasticsearch/api/actions/nodes/params_registry.rb +16 -3
  128. data/lib/elasticsearch/api/actions/nodes/reload_secure_settings.rb +24 -8
  129. data/lib/elasticsearch/api/actions/nodes/shutdown.rb +16 -3
  130. data/lib/elasticsearch/api/actions/nodes/stats.rb +22 -7
  131. data/lib/elasticsearch/api/actions/nodes/usage.rb +22 -7
  132. data/lib/elasticsearch/api/actions/params_registry.rb +16 -3
  133. data/lib/elasticsearch/api/actions/ping.rb +21 -6
  134. data/lib/elasticsearch/api/actions/put_script.rb +21 -6
  135. data/lib/elasticsearch/api/actions/rank_eval.rb +27 -7
  136. data/lib/elasticsearch/api/actions/reindex.rb +22 -7
  137. data/lib/elasticsearch/api/actions/reindex_rethrottle.rb +21 -6
  138. data/lib/elasticsearch/api/actions/remote/info.rb +16 -3
  139. data/lib/elasticsearch/api/actions/render_search_template.rb +22 -7
  140. data/lib/elasticsearch/api/actions/scripts_painless_execute.rb +21 -6
  141. data/lib/elasticsearch/api/actions/scroll.rb +22 -7
  142. data/lib/elasticsearch/api/actions/search.rb +24 -9
  143. data/lib/elasticsearch/api/actions/search_shards.rb +23 -7
  144. data/lib/elasticsearch/api/actions/search_template.rb +25 -8
  145. data/lib/elasticsearch/api/actions/snapshot/cleanup_repository.rb +22 -8
  146. data/lib/elasticsearch/api/actions/snapshot/create.rb +21 -6
  147. data/lib/elasticsearch/api/actions/snapshot/create_repository.rb +21 -6
  148. data/lib/elasticsearch/api/actions/snapshot/delete.rb +22 -7
  149. data/lib/elasticsearch/api/actions/snapshot/delete_repository.rb +23 -8
  150. data/lib/elasticsearch/api/actions/snapshot/get.rb +22 -7
  151. data/lib/elasticsearch/api/actions/snapshot/get_repository.rb +23 -8
  152. data/lib/elasticsearch/api/actions/snapshot/params_registry.rb +16 -3
  153. data/lib/elasticsearch/api/actions/snapshot/restore.rb +21 -6
  154. data/lib/elasticsearch/api/actions/snapshot/status.rb +23 -8
  155. data/lib/elasticsearch/api/actions/snapshot/verify_repository.rb +21 -6
  156. data/lib/elasticsearch/api/actions/tasks/cancel.rb +25 -8
  157. data/lib/elasticsearch/api/actions/tasks/get.rb +21 -6
  158. data/lib/elasticsearch/api/actions/tasks/list.rb +21 -6
  159. data/lib/elasticsearch/api/actions/tasks/params_registry.rb +16 -3
  160. data/lib/elasticsearch/api/actions/termvectors.rb +21 -5
  161. data/lib/elasticsearch/api/actions/update.rb +22 -7
  162. data/lib/elasticsearch/api/actions/update_by_query.rb +23 -8
  163. data/lib/elasticsearch/api/actions/update_by_query_rethrottle.rb +21 -6
  164. data/lib/elasticsearch/api/namespace/cat.rb +16 -3
  165. data/lib/elasticsearch/api/namespace/cluster.rb +16 -3
  166. data/lib/elasticsearch/api/namespace/common.rb +16 -3
  167. data/lib/elasticsearch/api/namespace/indices.rb +16 -3
  168. data/lib/elasticsearch/api/namespace/ingest.rb +16 -3
  169. data/lib/elasticsearch/api/namespace/nodes.rb +16 -3
  170. data/lib/elasticsearch/api/namespace/remote.rb +16 -3
  171. data/lib/elasticsearch/api/namespace/snapshot.rb +16 -3
  172. data/lib/elasticsearch/api/namespace/tasks.rb +16 -3
  173. data/lib/elasticsearch/api/utils.rb +16 -3
  174. data/lib/elasticsearch/api/version.rb +17 -4
  175. data/spec/README.md +61 -0
  176. data/spec/elasticsearch/api/actions/abort_benchmark_spec.rb +16 -3
  177. data/spec/elasticsearch/api/actions/benchmark_spec.rb +16 -3
  178. data/spec/elasticsearch/api/actions/bulk_spec.rb +16 -3
  179. data/spec/elasticsearch/api/actions/cat/aliases_spec.rb +17 -4
  180. data/spec/elasticsearch/api/actions/cat/allocation_spec.rb +17 -4
  181. data/spec/elasticsearch/api/actions/cat/count_spec.rb +17 -4
  182. data/spec/elasticsearch/api/actions/cat/fielddata_spec.rb +18 -5
  183. data/spec/elasticsearch/api/actions/cat/health_spec.rb +17 -4
  184. data/spec/elasticsearch/api/actions/cat/help_spec.rb +17 -4
  185. data/spec/elasticsearch/api/actions/cat/indices_spec.rb +17 -4
  186. data/spec/elasticsearch/api/actions/cat/master_spec.rb +17 -4
  187. data/spec/elasticsearch/api/actions/cat/nodeattrs_spec.rb +17 -4
  188. data/spec/elasticsearch/api/actions/cat/nodes_spec.rb +17 -4
  189. data/spec/elasticsearch/api/actions/cat/pending_tasks_spec.rb +17 -4
  190. data/spec/elasticsearch/api/actions/cat/plugins_spec.rb +17 -4
  191. data/spec/elasticsearch/api/actions/cat/recovery_spec.rb +17 -4
  192. data/spec/elasticsearch/api/actions/cat/repositories_spec.rb +17 -4
  193. data/spec/elasticsearch/api/actions/cat/segments_spec.rb +17 -4
  194. data/spec/elasticsearch/api/actions/cat/shards_spec.rb +17 -4
  195. data/spec/elasticsearch/api/actions/cat/snapshot_spec.rb +17 -4
  196. data/spec/elasticsearch/api/actions/cat/tasks_spec.rb +17 -4
  197. data/spec/elasticsearch/api/actions/cat/templates_spec.rb +17 -4
  198. data/spec/elasticsearch/api/actions/cat/thread_pool_spec.rb +17 -4
  199. data/spec/elasticsearch/api/actions/clear_scroll_spec.rb +20 -5
  200. data/spec/elasticsearch/api/actions/cluster/allocation_explain_spec.rb +17 -4
  201. data/spec/elasticsearch/api/actions/cluster/get_settings_spec.rb +17 -4
  202. data/spec/elasticsearch/api/actions/cluster/health_spec.rb +19 -6
  203. data/spec/elasticsearch/api/actions/cluster/pending_tasks_spec.rb +17 -4
  204. data/spec/elasticsearch/api/actions/cluster/put_settings_spec.rb +17 -4
  205. data/spec/elasticsearch/api/actions/cluster/remote_info_spec.rb +17 -4
  206. data/spec/elasticsearch/api/actions/cluster/reroute_spec.rb +18 -5
  207. data/spec/elasticsearch/api/actions/cluster/state_spec.rb +18 -5
  208. data/spec/elasticsearch/api/actions/cluster/stats_spec.rb +17 -4
  209. data/spec/elasticsearch/api/actions/count_spec.rb +22 -6
  210. data/spec/elasticsearch/api/actions/create_document_spec.rb +24 -7
  211. data/spec/elasticsearch/api/actions/delete_by_query_spec.rb +22 -6
  212. data/spec/elasticsearch/api/actions/delete_document_spec.rb +20 -5
  213. data/spec/elasticsearch/api/actions/delete_script_spec.rb +18 -4
  214. data/spec/elasticsearch/api/actions/exists_document_spec.rb +18 -4
  215. data/spec/elasticsearch/api/actions/explain_document_spec.rb +18 -4
  216. data/spec/elasticsearch/api/actions/field_caps_spec.rb +18 -4
  217. data/spec/elasticsearch/api/actions/get_document_source_spec.rb +18 -4
  218. data/spec/elasticsearch/api/actions/get_document_spec.rb +18 -4
  219. data/spec/elasticsearch/api/actions/get_script_spec.rb +18 -4
  220. data/spec/elasticsearch/api/actions/hashie_spec.rb +16 -3
  221. data/spec/elasticsearch/api/actions/index_document_spec.rb +18 -4
  222. data/spec/elasticsearch/api/actions/indices/analyze_spec.rb +17 -4
  223. data/spec/elasticsearch/api/actions/indices/clear_cache_spec.rb +1 -1
  224. data/spec/elasticsearch/api/actions/indices/clone_spec.rb +17 -4
  225. data/spec/elasticsearch/api/actions/indices/close_spec.rb +17 -4
  226. data/spec/elasticsearch/api/actions/indices/create_spec.rb +17 -4
  227. data/spec/elasticsearch/api/actions/indices/delete_alias_spec.rb +17 -4
  228. data/spec/elasticsearch/api/actions/indices/delete_spec.rb +17 -4
  229. data/spec/elasticsearch/api/actions/indices/delete_template_spec.rb +17 -4
  230. data/spec/elasticsearch/api/actions/indices/exists_alias_spec.rb +17 -4
  231. data/spec/elasticsearch/api/actions/indices/exists_spec.rb +17 -4
  232. data/spec/elasticsearch/api/actions/indices/exists_template_spec.rb +17 -4
  233. data/spec/elasticsearch/api/actions/indices/exists_type_spec.rb +17 -4
  234. data/spec/elasticsearch/api/actions/indices/flush_spec.rb +17 -4
  235. data/spec/elasticsearch/api/actions/indices/flush_synced_spec.rb +17 -4
  236. data/spec/elasticsearch/api/actions/indices/forcemerge_spec.rb +17 -4
  237. data/spec/elasticsearch/api/actions/indices/freeze_spec.rb +17 -0
  238. data/spec/elasticsearch/api/actions/indices/get_alias_spec.rb +17 -4
  239. data/spec/elasticsearch/api/actions/indices/get_field_mapping_spec.rb +17 -4
  240. data/spec/elasticsearch/api/actions/indices/get_mapping_spec.rb +17 -4
  241. data/spec/elasticsearch/api/actions/indices/get_settings_spec.rb +17 -4
  242. data/spec/elasticsearch/api/actions/indices/get_spec.rb +17 -4
  243. data/spec/elasticsearch/api/actions/indices/open_spec.rb +17 -4
  244. data/spec/elasticsearch/api/actions/indices/put_alias_spec.rb +17 -4
  245. data/spec/elasticsearch/api/actions/indices/put_mapping_spec.rb +17 -4
  246. data/spec/elasticsearch/api/actions/indices/put_settings_spec.rb +17 -4
  247. data/spec/elasticsearch/api/actions/indices/put_template_spec.rb +17 -4
  248. data/spec/elasticsearch/api/actions/indices/recovery_spec.rb +17 -4
  249. data/spec/elasticsearch/api/actions/indices/refresh_spec.rb +17 -4
  250. data/spec/elasticsearch/api/actions/indices/rollover_spec.rb +17 -4
  251. data/spec/elasticsearch/api/actions/indices/segments_spec.rb +17 -4
  252. data/spec/elasticsearch/api/actions/indices/shard_stores_spec.rb +17 -4
  253. data/spec/elasticsearch/api/actions/indices/shrink_spec.rb +17 -4
  254. data/spec/elasticsearch/api/actions/indices/split_spec.rb +17 -4
  255. data/spec/elasticsearch/api/actions/indices/stats_spec.rb +17 -4
  256. data/spec/elasticsearch/api/actions/indices/unfreeze_spec.rb +17 -0
  257. data/spec/elasticsearch/api/actions/indices/update_aliases_spec.rb +17 -4
  258. data/spec/elasticsearch/api/actions/indices/upgrade_spec.rb +17 -4
  259. data/spec/elasticsearch/api/actions/indices/validate_query_spec.rb +17 -4
  260. data/spec/elasticsearch/api/actions/info_spec.rb +18 -4
  261. data/spec/elasticsearch/api/actions/ingest/delete_pipeline_spec.rb +17 -4
  262. data/spec/elasticsearch/api/actions/ingest/get_pipeline_spec.rb +17 -4
  263. data/spec/elasticsearch/api/actions/ingest/put_pipeline_spec.rb +17 -4
  264. data/spec/elasticsearch/api/actions/ingest/simulate_spec.rb +17 -4
  265. data/spec/elasticsearch/api/actions/json_builders_spec.rb +20 -5
  266. data/spec/elasticsearch/api/actions/mget_spec.rb +18 -4
  267. data/spec/elasticsearch/api/actions/msearch_spec.rb +16 -3
  268. data/spec/elasticsearch/api/actions/msearch_template_spec.rb +16 -3
  269. data/spec/elasticsearch/api/actions/mtermvectors_spec.rb +19 -5
  270. data/spec/elasticsearch/api/actions/nodes/hot_threads_spec.rb +17 -4
  271. data/spec/elasticsearch/api/actions/nodes/info_spec.rb +17 -4
  272. data/spec/elasticsearch/api/actions/nodes/reload_secure_settings_spec.rb +23 -13
  273. data/spec/elasticsearch/api/actions/nodes/shutdown_spec.rb +16 -3
  274. data/spec/elasticsearch/api/actions/nodes/stats_spec.rb +17 -4
  275. data/spec/elasticsearch/api/actions/ping_spec.rb +19 -5
  276. data/spec/elasticsearch/api/actions/put_script_spec.rb +20 -5
  277. data/spec/elasticsearch/api/actions/reindex_spec.rb +19 -5
  278. data/spec/elasticsearch/api/actions/remote/info_spec.rb +16 -3
  279. data/spec/elasticsearch/api/actions/render_search_template_spec.rb +20 -5
  280. data/spec/elasticsearch/api/actions/scroll_spec.rb +20 -5
  281. data/spec/elasticsearch/api/actions/search_shards_spec.rb +19 -5
  282. data/spec/elasticsearch/api/actions/search_spec.rb +18 -4
  283. data/spec/elasticsearch/api/actions/search_template_spec.rb +18 -4
  284. data/spec/elasticsearch/api/actions/snapshot/create_repository_spec.rb +17 -4
  285. data/spec/elasticsearch/api/actions/snapshot/create_spec.rb +17 -4
  286. data/spec/elasticsearch/api/actions/snapshot/delete_repository_spec.rb +17 -4
  287. data/spec/elasticsearch/api/actions/snapshot/delete_spec.rb +17 -4
  288. data/spec/elasticsearch/api/actions/snapshot/get_repository_spec.rb +17 -4
  289. data/spec/elasticsearch/api/actions/snapshot/get_spec.rb +17 -4
  290. data/spec/elasticsearch/api/actions/snapshot/restore_spec.rb +17 -4
  291. data/spec/elasticsearch/api/actions/snapshot/status_spec.rb +17 -4
  292. data/spec/elasticsearch/api/actions/snapshot/verify_repository_spec.rb +17 -4
  293. data/spec/elasticsearch/api/actions/tasks/cancel_spec.rb +17 -4
  294. data/spec/elasticsearch/api/actions/tasks/get_spec.rb +17 -4
  295. data/spec/elasticsearch/api/actions/tasks/list_spec.rb +17 -4
  296. data/spec/elasticsearch/api/actions/termvectors_spec.rb +18 -4
  297. data/spec/elasticsearch/api/actions/update_by_query_spec.rb +19 -5
  298. data/spec/elasticsearch/api/actions/update_document_spec.rb +18 -4
  299. data/spec/elasticsearch/api/api_spec.rb +16 -3
  300. data/spec/elasticsearch/api/client_spec.rb +16 -3
  301. data/spec/elasticsearch/api/rest_api_yaml_spec.rb +1 -18
  302. data/spec/elasticsearch/api/utils_spec.rb +16 -3
  303. data/spec/rest_yaml_tests_helper.rb +20 -6
  304. data/spec/spec_helper.rb +27 -9
  305. data/test/integration/yaml_test_runner.rb +16 -3
  306. data/test/test_helper.rb +16 -3
  307. data/utils/Gemfile +16 -3
  308. data/utils/README.md +41 -0
  309. data/utils/thor/generate_source.rb +42 -24
  310. data/utils/thor/generator/endpoint_specifics.rb +24 -7
  311. data/utils/thor/generator/files_helper.rb +29 -6
  312. data/utils/thor/lister.rb +16 -3
  313. data/utils/thor/templates/_documentation_top.erb +3 -2
  314. data/utils/thor/templates/_perform_request.erb +6 -5
  315. data/utils/thor/templates/method.erb +20 -6
  316. data/utils/thor/templates/test_helper.rb +16 -3
  317. metadata +69 -46
@@ -1,6 +1,19 @@
1
- # Licensed to Elasticsearch B.V under one or more agreements.
2
- # Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
3
- # See the LICENSE file in the project root for more information
1
+ # Licensed to Elasticsearch B.V. under one or more contributor
2
+ # license agreements. See the NOTICE file distributed with
3
+ # this work for additional information regarding copyright
4
+ # ownership. Elasticsearch B.V. licenses this file to you under
5
+ # the Apache License, Version 2.0 (the "License"); you may
6
+ # not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing,
12
+ # software distributed under the License is distributed on an
13
+ # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14
+ # KIND, either express or implied. See the License for the
15
+ # specific language governing permissions and limitations
16
+ # under the License.
4
17
 
5
18
  ELASTICSEARCH_HOSTS = if hosts = ENV['TEST_ES_SERVER'] || ENV['ELASTICSEARCH_HOSTS']
6
19
  hosts.split(',').map do |host|
@@ -1,6 +1,19 @@
1
- # Licensed to Elasticsearch B.V under one or more agreements.
2
- # Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
3
- # See the LICENSE file in the project root for more information
1
+ # Licensed to Elasticsearch B.V. under one or more contributor
2
+ # license agreements. See the NOTICE file distributed with
3
+ # this work for additional information regarding copyright
4
+ # ownership. Elasticsearch B.V. licenses this file to you under
5
+ # the Apache License, Version 2.0 (the "License"); you may
6
+ # not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing,
12
+ # software distributed under the License is distributed on an
13
+ # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14
+ # KIND, either express or implied. See the License for the
15
+ # specific language governing permissions and limitations
16
+ # under the License.
4
17
 
5
18
  source 'https://rubygems.org'
6
19
 
@@ -0,0 +1,41 @@
1
+ # Utils
2
+
3
+ ## The Generator
4
+
5
+ This directory hosts The Generator, a tool that generates the classes for each API endpoint from the [Elasticsearch REST API JSON Specification](https://github.com/elastic/elasticsearch/tree/master/rest-api-spec).
6
+
7
+ ### Generate
8
+
9
+ To generate the code, you need to run (from this folder):
10
+ ```bash
11
+ $ thor api:code:generate
12
+ ```
13
+
14
+ - The oss Ruby code will be generated in `elasticsearch-api/lib/elasticsearch/api/actions`.
15
+ - The xpack Ruby code will be generated in `elasticsearch-xpack/lib/elasticsearch/xpack/api/actions`.
16
+ - The generator runs Rubocop to autolint and clean up the generated files.
17
+
18
+ Alternatively, you can pass in `oss` or `xpack` as parameters to generate only one of the 2 sets of endpoints:
19
+
20
+ ```bash
21
+ $ thor api:code:generate --api=xpack
22
+ $ thor api:code:generate --api=oss
23
+ ```
24
+
25
+ ### Development
26
+
27
+ The main entry point is `generate_source.rb`, which contains a class that implements a Thor task: `generate`:
28
+
29
+ ```
30
+ $ thor api:code:generate
31
+ ```
32
+
33
+ It uses [Thor::Actions](https://github.com/erikhuda/thor/wiki/Actions)' `template` method and `templates/method.erb` to generate the final code. The `generator` directory contains some helpers used to generate the code. The ERB template is split into partials and you can find all ERB files in the `templates` directory.
34
+
35
+ There's also a lister task:
36
+
37
+ ```
38
+ $ thor api:list
39
+ ```
40
+
41
+ It's implemented in `lister.rb` and it lists all the REST API endpoints from the JSON specification.
@@ -1,6 +1,19 @@
1
- # Licensed to Elasticsearch B.V under one or more agreements.
2
- # Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
3
- # See the LICENSE file in the project root for more information
1
+ # Licensed to Elasticsearch B.V. under one or more contributor
2
+ # license agreements. See the NOTICE file distributed with
3
+ # this work for additional information regarding copyright
4
+ # ownership. Elasticsearch B.V. licenses this file to you under
5
+ # the Apache License, Version 2.0 (the "License"); you may
6
+ # not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing,
12
+ # software distributed under the License is distributed on an
13
+ # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14
+ # KIND, either express or implied. See the License for the
15
+ # specific language governing permissions and limitations
16
+ # under the License.
4
17
 
5
18
  # encoding: UTF-8
6
19
 
@@ -34,18 +47,28 @@ module Elasticsearch
34
47
  __root = Pathname(File.expand_path('../../..', __FILE__))
35
48
 
36
49
  desc 'generate', 'Generate source code and tests from the REST API JSON specification'
37
- method_option :verbose, type: :boolean, default: false, desc: 'Output more information'
38
- method_option :tests, type: :boolean, default: false, desc: 'Generate test files'
39
- method_option :xpack, type: :boolean, default: false, desc: 'Generate X-Pack'
40
-
50
+ method_option :verbose, type: :boolean, default: false, desc: 'Output more information'
51
+ method_option :tests, type: :boolean, default: false, desc: 'Generate test files'
52
+ method_option :api, type: :array, default: %w[oss xpack], desc: 'APIs to generate (oss, x-pack)'
41
53
  def generate
42
54
  self.class.source_root File.expand_path(__dir__)
43
- @xpack = options[:xpack]
55
+ @xpack = options[:api].include? 'xpack'
56
+ @oss = options[:api].include? 'oss'
57
+
58
+ __generate_source(:xpack) if @xpack
59
+ __generate_source(:oss) if @oss
60
+ # -- Tree output
61
+ print_tree if options[:verbose]
62
+ end
63
+
64
+ private
44
65
 
45
- @input = FilesHelper.input_dir(@xpack)
46
- @output = FilesHelper.output_dir(@xpack)
66
+ def __generate_source(api)
67
+ @current_api = api
68
+ @input = FilesHelper.input_dir(api)
69
+ @output = FilesHelper.output_dir(api)
47
70
 
48
- FilesHelper.files(@xpack).each do |filepath|
71
+ FilesHelper.files(api).each do |filepath|
49
72
  @path = Pathname(@input.join(filepath))
50
73
  @json = MultiJson.load(File.read(@path))
51
74
  @spec = @json.values.first
@@ -83,17 +106,12 @@ module Elasticsearch
83
106
  puts
84
107
  end
85
108
 
86
- run_rubocop
87
-
88
- # -- Tree output
89
- print_tree if options[:verbose]
109
+ run_rubocop(api)
90
110
  end
91
111
 
92
- private
93
-
94
112
  def __full_namespace
95
113
  names = @endpoint_name.split('.')
96
- if @xpack
114
+ if @current_api == :xpack
97
115
  names = (names.first == 'xpack' ? names : ['xpack', names].flatten)
98
116
  # Return an array with 'ml' renamed to 'machine_learning' and 'ilm' to
99
117
  # 'index_lifecycle_management'
@@ -149,12 +167,12 @@ module Elasticsearch
149
167
  return termvectors_path if @method_name == 'termvectors'
150
168
 
151
169
  result = ''
152
- anchor_string = ''
170
+ anchor_string = []
153
171
  @paths.sort { |a, b| b.length <=> a.length }.each_with_index do |path, i|
154
172
  var_string = __extract_path_variables(path).map { |var| "_#{var}" }.join(' && ')
155
- next if anchor_string == var_string
173
+ next if anchor_string.include? var_string
156
174
 
157
- anchor_string = var_string
175
+ anchor_string << var_string
158
176
  result += if i.zero?
159
177
  "if #{var_string}\n"
160
178
  elsif (i == @paths.size - 1) || var_string.empty?
@@ -238,11 +256,11 @@ module Elasticsearch
238
256
  end
239
257
 
240
258
  def __utils
241
- @xpack ? 'Elasticsearch::API::Utils' : 'Utils'
259
+ (@current_api == :xpack) ? 'Elasticsearch::API::Utils' : 'Utils'
242
260
  end
243
261
 
244
- def run_rubocop
245
- system("rubocop --format autogenconf -x #{FilesHelper::output_dir(@xpack)}")
262
+ def run_rubocop(api)
263
+ system("rubocop --format autogenconf -x #{FilesHelper::output_dir(api)}")
246
264
  end
247
265
  end
248
266
  end
@@ -1,8 +1,19 @@
1
- # frozen_string_literal: true
2
-
3
- # Licensed to Elasticsearch B.V under one or more agreements.
4
- # Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
5
- # See the LICENSE file in the project root for more information
1
+ # Licensed to Elasticsearch B.V. under one or more contributor
2
+ # license agreements. See the NOTICE file distributed with
3
+ # this work for additional information regarding copyright
4
+ # ownership. Elasticsearch B.V. licenses this file to you under
5
+ # the Apache License, Version 2.0 (the "License"); you may
6
+ # not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing,
12
+ # software distributed under the License is distributed on an
13
+ # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14
+ # KIND, either express or implied. See the License for the
15
+ # specific language governing permissions and limitations
16
+ # under the License.
6
17
 
7
18
  module Elasticsearch
8
19
  module API
@@ -64,6 +75,12 @@ module Elasticsearch
64
75
  COMPLEX_IGNORE_404.include? endpoint
65
76
  end
66
77
 
78
+ def module_name_helper(name)
79
+ return name.upcase if %w[sql ssl].include? name
80
+
81
+ name.split("_").map(&:capitalize).join
82
+ end
83
+
67
84
  def termvectors_path
68
85
  <<~SRC
69
86
  if _index && _type && _id
@@ -81,7 +98,7 @@ module Elasticsearch
81
98
  def ping_perform_request
82
99
  <<~SRC
83
100
  begin
84
- perform_request(method, path, params, body).status == 200 ? true : false
101
+ perform_request(method, path, params, body, headers).status == 200 ? true : false
85
102
  rescue Exception => e
86
103
  if e.class.to_s =~ /NotFound|ConnectionFailed/ || e.message =~ /Not\s*Found|404|ConnectionFailed/i
87
104
  false
@@ -146,7 +163,7 @@ module Elasticsearch
146
163
  def bulk_body_helper
147
164
  <<~SRC
148
165
  if body.is_a? Array
149
- payload = Utils.__bulkify(body)
166
+ payload = Elasticsearch::API::Utils.__bulkify(body)
150
167
  else
151
168
  payload = body
152
169
  end
@@ -1,4 +1,22 @@
1
+ # Licensed to Elasticsearch B.V. under one or more contributor
2
+ # license agreements. See the NOTICE file distributed with
3
+ # this work for additional information regarding copyright
4
+ # ownership. Elasticsearch B.V. licenses this file to you under
5
+ # the Apache License, Version 2.0 (the "License"); you may
6
+ # not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing,
12
+ # software distributed under the License is distributed on an
13
+ # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14
+ # KIND, either express or implied. See the License for the
15
+ # specific language governing permissions and limitations
16
+ # under the License.
17
+
1
18
  require 'pathname'
19
+ require_relative '../../../lib/elasticsearch/api/version.rb'
2
20
 
3
21
  module Elasticsearch
4
22
  module API
@@ -10,8 +28,8 @@ module Elasticsearch
10
28
  XPACK_OUTPUT_DIR = '../../elasticsearch-xpack/lib/elasticsearch/xpack/api/actions'.freeze
11
29
 
12
30
  # Path to directory with JSON API specs
13
- def self.input_dir(xpack = false)
14
- input_dir = if xpack
31
+ def self.input_dir(api)
32
+ input_dir = if api == :xpack
15
33
  File.expand_path(XPACK_SRC_PATH, __FILE__)
16
34
  else
17
35
  File.expand_path(OSS_SRC_PATH, __FILE__)
@@ -20,18 +38,23 @@ module Elasticsearch
20
38
  end
21
39
 
22
40
  # Path to directory to copy generated files
23
- def self.output_dir(xpack = false)
24
- xpack ? Pathname(XPACK_OUTPUT_DIR) : Pathname(OSS_OUTPUT_DIR)
41
+ def self.output_dir(api)
42
+ api == :xpack ? Pathname(XPACK_OUTPUT_DIR) : Pathname(OSS_OUTPUT_DIR)
25
43
  end
26
44
 
27
45
  # Only get JSON files and remove hidden files
28
- def self.files(xpack = false)
29
- Dir.entries(input_dir(xpack).to_s).reject do |f|
46
+ def self.files(api)
47
+ Dir.entries(input_dir(api).to_s).reject do |f|
30
48
  f.start_with?('.') ||
31
49
  f.start_with?('_') ||
32
50
  File.extname(f) != '.json'
33
51
  end
34
52
  end
53
+
54
+ def self.gem_version
55
+ regex = /([0-9]{1,2}\.[0-9x]{1,2})/
56
+ Elasticsearch::API::VERSION.match(regex)[0]
57
+ end
35
58
  end
36
59
  end
37
60
  end
@@ -1,6 +1,19 @@
1
- # Licensed to Elasticsearch B.V under one or more agreements.
2
- # Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
3
- # See the LICENSE file in the project root for more information
1
+ # Licensed to Elasticsearch B.V. under one or more contributor
2
+ # license agreements. See the NOTICE file distributed with
3
+ # this work for additional information regarding copyright
4
+ # ownership. Elasticsearch B.V. licenses this file to you under
5
+ # the Apache License, Version 2.0 (the "License"); you may
6
+ # not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing,
12
+ # software distributed under the License is distributed on an
13
+ # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14
+ # KIND, either express or implied. See the License for the
15
+ # specific language governing permissions and limitations
16
+ # under the License.
4
17
 
5
18
  # encoding: UTF-8
6
19
 
@@ -12,7 +12,8 @@
12
12
  <%# URL parameters -%>
13
13
  <%- @params.each do |name, info| -%>
14
14
  <%= docs_helper(name, info) -%>
15
- <%- end %>
15
+ <%- end -%>
16
+ # @option arguments [Hash] :headers Custom HTTP headers
16
17
  <%= ' '*(@namespace_depth+3) + '# @option arguments [Hash] :body ' + (@spec['body']['description'] ? @spec['body']['description'].strip : 'TODO: Description') + (@spec['body']['required'] ? ' (*Required*)' : '') + "\n" if @spec['body'] -%>
17
18
  <% if @deprecation_note -%>
18
19
  #
@@ -23,5 +24,5 @@
23
24
  <% end -%>
24
25
  <%= ' '*(@namespace_depth+3) -%>#
25
26
  <%# Documentation link -%>
26
- <%= ' '*(@namespace_depth+3) %># @see <%= @spec['documentation']['url'] ? @spec['documentation']['url'].gsub!(/\/(current|master)\//, '/7.5/') : "[TODO]" %>
27
+ <%= ' '*(@namespace_depth+3) %># @see <%= @spec['documentation']['url'] ? @spec['documentation']['url'].gsub(/\/(current|master)\//, "/#{Elasticsearch::API::FilesHelper.gem_version}/") : "[TODO]" %>
27
28
  <%= ' '*(@namespace_depth+3) %>#
@@ -16,22 +16,23 @@ when 'mtermvectors'
16
16
  <%- end -%>
17
17
  <%- if ['bulk', 'msearch', 'msearch_template'].include? @method_name -%>
18
18
  <%= self.send("#{@method_name}_body_helper".to_s) %>
19
- <%= ' '*(@namespace_depth+4) %>perform_request(method, path, params, payload, {"Content-Type" => "application/x-ndjson"}).body
19
+ headers.merge!("Content-Type" => "application/x-ndjson")
20
+ <%= ' '*(@namespace_depth+4) %>perform_request(method, path, params, payload, headers).body
20
21
  <%- elsif @method_name == 'ping' -%>
21
22
  <%= ping_perform_request %>
22
23
  <%- else -%>
23
24
  <%- if needs_ignore_404?(@endpoint_name) %>
24
25
  <%= __utils %>.__rescue_from_not_found do
25
- perform_request(method, path, params, body).status == 200 ? true : false
26
+ perform_request(method, path, params, body, headers).status == 200 ? true : false
26
27
  end
27
28
  <%- elsif needs_complex_ignore_404?(@endpoint_name) -%>
28
29
  if Array(arguments[:ignore]).include?(404)
29
- <%= __utils %>.__rescue_from_not_found { perform_request(method, path, params, body).body }
30
+ <%= __utils %>.__rescue_from_not_found { perform_request(method, path, params, body, headers).body }
30
31
  else
31
- perform_request(method, path, params, body).body
32
+ perform_request(method, path, params, body, headers).body
32
33
  end
33
34
  <%- else -%>
34
- perform_request(method, path, params, body).body
35
+ perform_request(method, path, params, body, headers).body
35
36
  <%- end -%>
36
37
  <%- end -%>
37
38
  <%= ' '*(@namespace_depth+3) %>end
@@ -1,19 +1,32 @@
1
- # Licensed to Elasticsearch B.V under one or more agreements.
2
- # Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
3
- # See the LICENSE file in the project root for more information
1
+ # Licensed to Elasticsearch B.V. under one or more contributor
2
+ # license agreements. See the NOTICE file distributed with
3
+ # this work for additional information regarding copyright
4
+ # ownership. Elasticsearch B.V. licenses this file to you under
5
+ # the Apache License, Version 2.0 (the "License"); you may
6
+ # not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing,
12
+ # software distributed under the License is distributed on an
13
+ # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14
+ # KIND, either express or implied. See the License for the
15
+ # specific language governing permissions and limitations
16
+ # under the License.
4
17
 
5
18
  module Elasticsearch
6
- <%- if @xpack -%>
19
+ <%- if @current_api == :xpack -%>
7
20
  <%= ' '*(@namespace_depth) %>module XPack
8
21
  <%- end %>
9
22
  <%= ' '*(@namespace_depth) %>module API
10
23
  <%- @module_namespace.each_with_index do |name, i| -%>
11
- <%= ' '*i %>module <%= name.split("_").map(&:capitalize).join %>
24
+ <%= ' '*i %>module <%= module_name_helper(name) %>
12
25
  <%- end -%>
13
26
  <%= ' '*(@namespace_depth+2) %>module Actions
14
27
  <%= ERB.new(File.new("./thor/templates/_documentation_top.erb").read, trim_mode: '-').result(binding) -%>
15
28
  <%# Method definition -%>
16
- <%= ' '*(@namespace_depth+3) -%>def <%= @method_name %>(arguments={})
29
+ <%= ' '*(@namespace_depth+3) -%>def <%= @method_name %>(arguments = {})
17
30
  <%- if @endpoint_name == 'create' -%>
18
31
  <%= ' '*(@namespace_depth+3) %>if arguments[:id]
19
32
  <%= ' '*(@namespace_depth+3) %> index arguments.update op_type: 'create'
@@ -30,6 +43,7 @@ module Elasticsearch
30
43
  <%= ' '*(@namespace_depth+3) + "raise ArgumentError, \"Required argument '#{required}' missing\" unless arguments[:#{required}]" + "\n" -%>
31
44
  <%- end -%>
32
45
  <%- end -%>
46
+ headers = arguments.delete(:headers) || {}
33
47
  <%- # Method setup -%>
34
48
  <%= ERB.new(File.new("./thor/templates/_method_setup.erb").read, trim_mode: '-').result(binding) %>
35
49
  <%- # Perform request -%>
@@ -1,6 +1,19 @@
1
- # Licensed to Elasticsearch B.V under one or more agreements.
2
- # Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
3
- # See the LICENSE file in the project root for more information
1
+ # Licensed to Elasticsearch B.V. under one or more contributor
2
+ # license agreements. See the NOTICE file distributed with
3
+ # this work for additional information regarding copyright
4
+ # ownership. Elasticsearch B.V. licenses this file to you under
5
+ # the Apache License, Version 2.0 (the "License"); you may
6
+ # not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing,
12
+ # software distributed under the License is distributed on an
13
+ # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14
+ # KIND, either express or implied. See the License for the
15
+ # specific language governing permissions and limitations
16
+ # under the License.
4
17
 
5
18
  RUBY_1_8 = defined?(RUBY_VERSION) && RUBY_VERSION < '1.9'
6
19