lex-aha 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. checksums.yaml +7 -0
  2. data/.github/workflows/ci.yml +16 -0
  3. data/.gitignore +12 -0
  4. data/.rspec +3 -0
  5. data/.rubocop.yml +66 -0
  6. data/CHANGELOG.md +12 -0
  7. data/CLAUDE.md +88 -0
  8. data/Dockerfile +6 -0
  9. data/Gemfile +12 -0
  10. data/LICENSE +21 -0
  11. data/README.md +62 -0
  12. data/lex-aha.gemspec +30 -0
  13. data/lib/legion/extensions/aha/base_client.rb +23 -0
  14. data/lib/legion/extensions/aha/core/client.rb +42 -0
  15. data/lib/legion/extensions/aha/core/runners/admin.rb +65 -0
  16. data/lib/legion/extensions/aha/core/runners/attachments.rb +39 -0
  17. data/lib/legion/extensions/aha/core/runners/audits.rb +37 -0
  18. data/lib/legion/extensions/aha/core/runners/comments.rb +66 -0
  19. data/lib/legion/extensions/aha/core/runners/custom_fields.rb +59 -0
  20. data/lib/legion/extensions/aha/core/runners/custom_table_records.rb +42 -0
  21. data/lib/legion/extensions/aha/core/runners/integrations.rb +49 -0
  22. data/lib/legion/extensions/aha/core/runners/me.rb +35 -0
  23. data/lib/legion/extensions/aha/core/runners/record_links.rb +42 -0
  24. data/lib/legion/extensions/aha/core/runners/teams.rb +71 -0
  25. data/lib/legion/extensions/aha/core/runners/todos.rb +59 -0
  26. data/lib/legion/extensions/aha/core/runners/users.rb +49 -0
  27. data/lib/legion/extensions/aha/core/runners/webhooks.rb +25 -0
  28. data/lib/legion/extensions/aha/core/runners/workflows.rb +30 -0
  29. data/lib/legion/extensions/aha/core.rb +26 -0
  30. data/lib/legion/extensions/aha/helpers/client.rb +23 -0
  31. data/lib/legion/extensions/aha/ideas/client.rb +30 -0
  32. data/lib/legion/extensions/aha/ideas/runners/idea_categories.rb +25 -0
  33. data/lib/legion/extensions/aha/ideas/runners/idea_comments.rb +40 -0
  34. data/lib/legion/extensions/aha/ideas/runners/idea_organizations.rb +45 -0
  35. data/lib/legion/extensions/aha/ideas/runners/idea_portals.rb +30 -0
  36. data/lib/legion/extensions/aha/ideas/runners/idea_subscriptions.rb +40 -0
  37. data/lib/legion/extensions/aha/ideas/runners/idea_users.rb +45 -0
  38. data/lib/legion/extensions/aha/ideas/runners/idea_votes.rb +50 -0
  39. data/lib/legion/extensions/aha/ideas/runners/ideas.rb +55 -0
  40. data/lib/legion/extensions/aha/ideas.rb +20 -0
  41. data/lib/legion/extensions/aha/knowledge/client.rb +20 -0
  42. data/lib/legion/extensions/aha/knowledge/runners/knowledge_bases.rb +29 -0
  43. data/lib/legion/extensions/aha/knowledge/runners/notes.rb +44 -0
  44. data/lib/legion/extensions/aha/knowledge/runners/pages.rb +44 -0
  45. data/lib/legion/extensions/aha/knowledge.rb +15 -0
  46. data/lib/legion/extensions/aha/roadmaps/client.rb +42 -0
  47. data/lib/legion/extensions/aha/roadmaps/runners/capacity.rb +54 -0
  48. data/lib/legion/extensions/aha/roadmaps/runners/competitors.rb +44 -0
  49. data/lib/legion/extensions/aha/roadmaps/runners/epics.rb +59 -0
  50. data/lib/legion/extensions/aha/roadmaps/runners/features.rb +59 -0
  51. data/lib/legion/extensions/aha/roadmaps/runners/goals.rb +54 -0
  52. data/lib/legion/extensions/aha/roadmaps/runners/initiatives.rb +54 -0
  53. data/lib/legion/extensions/aha/roadmaps/runners/key_results.rb +44 -0
  54. data/lib/legion/extensions/aha/roadmaps/runners/personas.rb +44 -0
  55. data/lib/legion/extensions/aha/roadmaps/runners/products.rb +34 -0
  56. data/lib/legion/extensions/aha/roadmaps/runners/release_phases.rb +49 -0
  57. data/lib/legion/extensions/aha/roadmaps/runners/releases.rb +49 -0
  58. data/lib/legion/extensions/aha/roadmaps/runners/requirements.rb +44 -0
  59. data/lib/legion/extensions/aha/roadmaps/runners/roll_up_releases.rb +39 -0
  60. data/lib/legion/extensions/aha/roadmaps/runners/strategy.rb +49 -0
  61. data/lib/legion/extensions/aha/roadmaps.rb +26 -0
  62. data/lib/legion/extensions/aha/version.rb +9 -0
  63. data/lib/legion/extensions/aha.rb +17 -0
  64. metadata +122 -0
@@ -0,0 +1,54 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'legion/extensions/aha/helpers/client'
4
+
5
+ module Legion
6
+ module Extensions
7
+ module Aha
8
+ module Roadmaps
9
+ module Runners
10
+ module Goals
11
+ extend Legion::Extensions::Aha::Helpers::Client
12
+
13
+ def list_goals(**)
14
+ response = client(**).get('/goals')
15
+ { result: response.body, status: response.status }
16
+ end
17
+
18
+ def list_goals_in_product(product_id:, **)
19
+ response = client(**).get("/products/#{product_id}/goals")
20
+ { result: response.body, status: response.status }
21
+ end
22
+
23
+ def list_goals_for_initiative(initiative_id:, **)
24
+ response = client(**).get("/initiatives/#{initiative_id}/goals")
25
+ { result: response.body, status: response.status }
26
+ end
27
+
28
+ def get_goal(id:, **)
29
+ response = client(**).get("/goals/#{id}")
30
+ { result: response.body, status: response.status }
31
+ end
32
+
33
+ def create_goal(product_id:, goal:, **)
34
+ response = client(**).post("/products/#{product_id}/goals", { goal: goal })
35
+ { result: response.body, status: response.status }
36
+ end
37
+
38
+ def update_goal(product_id:, id:, goal:, **)
39
+ response = client(**).put("/products/#{product_id}/goals/#{id}", { goal: goal })
40
+ { result: response.body, status: response.status }
41
+ end
42
+
43
+ def delete_goal(product_id:, id:, **)
44
+ response = client(**).delete("/products/#{product_id}/goals/#{id}")
45
+ { result: response.body, status: response.status }
46
+ end
47
+
48
+ include Legion::Extensions::Helpers::Lex if Legion::Extensions.const_defined?(:Helpers) && Legion::Extensions::Helpers.const_defined?(:Lex)
49
+ end
50
+ end
51
+ end
52
+ end
53
+ end
54
+ end
@@ -0,0 +1,54 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'legion/extensions/aha/helpers/client'
4
+
5
+ module Legion
6
+ module Extensions
7
+ module Aha
8
+ module Roadmaps
9
+ module Runners
10
+ module Initiatives
11
+ extend Legion::Extensions::Aha::Helpers::Client
12
+
13
+ def list_initiatives(**)
14
+ response = client(**).get('/initiatives')
15
+ { result: response.body, status: response.status }
16
+ end
17
+
18
+ def list_initiatives_in_product(product_id:, **)
19
+ response = client(**).get("/products/#{product_id}/initiatives")
20
+ { result: response.body, status: response.status }
21
+ end
22
+
23
+ def list_initiatives_for_goal(goal_id:, **)
24
+ response = client(**).get("/goals/#{goal_id}/initiatives")
25
+ { result: response.body, status: response.status }
26
+ end
27
+
28
+ def get_initiative(id:, **)
29
+ response = client(**).get("/initiatives/#{id}")
30
+ { result: response.body, status: response.status }
31
+ end
32
+
33
+ def create_initiative(product_id:, initiative:, **)
34
+ response = client(**).post("/products/#{product_id}/initiatives", { initiative: initiative })
35
+ { result: response.body, status: response.status }
36
+ end
37
+
38
+ def update_initiative(product_id:, id:, initiative:, **)
39
+ response = client(**).put("/products/#{product_id}/initiatives/#{id}", { initiative: initiative })
40
+ { result: response.body, status: response.status }
41
+ end
42
+
43
+ def delete_initiative(product_id:, id:, **)
44
+ response = client(**).delete("/products/#{product_id}/initiatives/#{id}")
45
+ { result: response.body, status: response.status }
46
+ end
47
+
48
+ include Legion::Extensions::Helpers::Lex if Legion::Extensions.const_defined?(:Helpers) && Legion::Extensions::Helpers.const_defined?(:Lex)
49
+ end
50
+ end
51
+ end
52
+ end
53
+ end
54
+ end
@@ -0,0 +1,44 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'legion/extensions/aha/helpers/client'
4
+
5
+ module Legion
6
+ module Extensions
7
+ module Aha
8
+ module Roadmaps
9
+ module Runners
10
+ module KeyResults
11
+ extend Legion::Extensions::Aha::Helpers::Client
12
+
13
+ def list_key_results(goal_id:, **)
14
+ response = client(**).get("/goals/#{goal_id}/key_results")
15
+ { result: response.body, status: response.status }
16
+ end
17
+
18
+ def get_key_result(id:, **)
19
+ response = client(**).get("/key_results/#{id}")
20
+ { result: response.body, status: response.status }
21
+ end
22
+
23
+ def create_key_result(goal_id:, key_result:, **)
24
+ response = client(**).post("/goals/#{goal_id}/key_results", { key_result: key_result })
25
+ { result: response.body, status: response.status }
26
+ end
27
+
28
+ def update_key_result(id:, key_result:, **)
29
+ response = client(**).put("/key_results/#{id}", { key_result: key_result })
30
+ { result: response.body, status: response.status }
31
+ end
32
+
33
+ def delete_key_result(id:, **)
34
+ response = client(**).delete("/key_results/#{id}")
35
+ { result: response.body, status: response.status }
36
+ end
37
+
38
+ include Legion::Extensions::Helpers::Lex if Legion::Extensions.const_defined?(:Helpers) && Legion::Extensions::Helpers.const_defined?(:Lex)
39
+ end
40
+ end
41
+ end
42
+ end
43
+ end
44
+ end
@@ -0,0 +1,44 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'legion/extensions/aha/helpers/client'
4
+
5
+ module Legion
6
+ module Extensions
7
+ module Aha
8
+ module Roadmaps
9
+ module Runners
10
+ module Personas
11
+ extend Legion::Extensions::Aha::Helpers::Client
12
+
13
+ def list_personas(product_id:, **)
14
+ response = client(**).get("/products/#{product_id}/personas")
15
+ { result: response.body, status: response.status }
16
+ end
17
+
18
+ def get_persona(id:, **)
19
+ response = client(**).get("/personas/#{id}")
20
+ { result: response.body, status: response.status }
21
+ end
22
+
23
+ def create_persona(product_id:, persona:, **)
24
+ response = client(**).post("/products/#{product_id}/personas", { persona: persona })
25
+ { result: response.body, status: response.status }
26
+ end
27
+
28
+ def update_persona(product_id:, id:, persona:, **)
29
+ response = client(**).put("/products/#{product_id}/personas/#{id}", { persona: persona })
30
+ { result: response.body, status: response.status }
31
+ end
32
+
33
+ def delete_persona(product_id:, id:, **)
34
+ response = client(**).delete("/products/#{product_id}/personas/#{id}")
35
+ { result: response.body, status: response.status }
36
+ end
37
+
38
+ include Legion::Extensions::Helpers::Lex if Legion::Extensions.const_defined?(:Helpers) && Legion::Extensions::Helpers.const_defined?(:Lex)
39
+ end
40
+ end
41
+ end
42
+ end
43
+ end
44
+ end
@@ -0,0 +1,34 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'legion/extensions/aha/helpers/client'
4
+
5
+ module Legion
6
+ module Extensions
7
+ module Aha
8
+ module Roadmaps
9
+ module Runners
10
+ module Products
11
+ extend Legion::Extensions::Aha::Helpers::Client
12
+
13
+ def list_products(**)
14
+ response = client(**).get('/products')
15
+ { result: response.body, status: response.status }
16
+ end
17
+
18
+ def get_product(id:, **)
19
+ response = client(**).get("/products/#{id}")
20
+ { result: response.body, status: response.status }
21
+ end
22
+
23
+ def create_product(product:, **)
24
+ response = client(**).post('/products', { product: product })
25
+ { result: response.body, status: response.status }
26
+ end
27
+
28
+ include Legion::Extensions::Helpers::Lex if Legion::Extensions.const_defined?(:Helpers) && Legion::Extensions::Helpers.const_defined?(:Lex)
29
+ end
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,49 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'legion/extensions/aha/helpers/client'
4
+
5
+ module Legion
6
+ module Extensions
7
+ module Aha
8
+ module Roadmaps
9
+ module Runners
10
+ module ReleasePhases
11
+ extend Legion::Extensions::Aha::Helpers::Client
12
+
13
+ def list_release_phases(**)
14
+ response = client(**).get('/release_phases')
15
+ { result: response.body, status: response.status }
16
+ end
17
+
18
+ def list_release_phases_for_release(release_id:, **)
19
+ response = client(**).get("/releases/#{release_id}/release_phases")
20
+ { result: response.body, status: response.status }
21
+ end
22
+
23
+ def get_release_phase(id:, **)
24
+ response = client(**).get("/release_phases/#{id}")
25
+ { result: response.body, status: response.status }
26
+ end
27
+
28
+ def create_release_phase(release_phase:, **)
29
+ response = client(**).post('/release_phases', { release_phase: release_phase })
30
+ { result: response.body, status: response.status }
31
+ end
32
+
33
+ def update_release_phase(id:, release_phase:, **)
34
+ response = client(**).put("/release_phases/#{id}", { release_phase: release_phase })
35
+ { result: response.body, status: response.status }
36
+ end
37
+
38
+ def delete_release_phase(id:, **)
39
+ response = client(**).delete("/release_phases/#{id}")
40
+ { result: response.body, status: response.status }
41
+ end
42
+
43
+ include Legion::Extensions::Helpers::Lex if Legion::Extensions.const_defined?(:Helpers) && Legion::Extensions::Helpers.const_defined?(:Lex)
44
+ end
45
+ end
46
+ end
47
+ end
48
+ end
49
+ end
@@ -0,0 +1,49 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'legion/extensions/aha/helpers/client'
4
+
5
+ module Legion
6
+ module Extensions
7
+ module Aha
8
+ module Roadmaps
9
+ module Runners
10
+ module Releases
11
+ extend Legion::Extensions::Aha::Helpers::Client
12
+
13
+ def list_releases(product_id:, **)
14
+ response = client(**).get("/products/#{product_id}/releases")
15
+ { result: response.body, status: response.status }
16
+ end
17
+
18
+ def get_release(id:, **)
19
+ response = client(**).get("/releases/#{id}")
20
+ { result: response.body, status: response.status }
21
+ end
22
+
23
+ def create_release(product_id:, release:, **)
24
+ response = client(**).post("/products/#{product_id}/releases", { release: release })
25
+ { result: response.body, status: response.status }
26
+ end
27
+
28
+ def update_release(product_id:, id:, release:, **)
29
+ response = client(**).put("/products/#{product_id}/releases/#{id}", { release: release })
30
+ { result: response.body, status: response.status }
31
+ end
32
+
33
+ def delete_release(product_id:, id:, **)
34
+ response = client(**).delete("/products/#{product_id}/releases/#{id}")
35
+ { result: response.body, status: response.status }
36
+ end
37
+
38
+ def duplicate_release(id:, **)
39
+ response = client(**).post("/releases/#{id}/duplicate")
40
+ { result: response.body, status: response.status }
41
+ end
42
+
43
+ include Legion::Extensions::Helpers::Lex if Legion::Extensions.const_defined?(:Helpers) && Legion::Extensions::Helpers.const_defined?(:Lex)
44
+ end
45
+ end
46
+ end
47
+ end
48
+ end
49
+ end
@@ -0,0 +1,44 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'legion/extensions/aha/helpers/client'
4
+
5
+ module Legion
6
+ module Extensions
7
+ module Aha
8
+ module Roadmaps
9
+ module Runners
10
+ module Requirements
11
+ extend Legion::Extensions::Aha::Helpers::Client
12
+
13
+ def list_requirements(feature_id:, **)
14
+ response = client(**).get("/features/#{feature_id}/requirements")
15
+ { result: response.body, status: response.status }
16
+ end
17
+
18
+ def get_requirement(id:, **)
19
+ response = client(**).get("/requirements/#{id}")
20
+ { result: response.body, status: response.status }
21
+ end
22
+
23
+ def create_requirement(feature_id:, requirement:, **)
24
+ response = client(**).post("/features/#{feature_id}/requirements", { requirement: requirement })
25
+ { result: response.body, status: response.status }
26
+ end
27
+
28
+ def delete_requirement(id:, **)
29
+ response = client(**).delete("/requirements/#{id}")
30
+ { result: response.body, status: response.status }
31
+ end
32
+
33
+ def convert_to_feature(id:, **)
34
+ response = client(**).post("/requirements/#{id}/convert_to_feature")
35
+ { result: response.body, status: response.status }
36
+ end
37
+
38
+ include Legion::Extensions::Helpers::Lex if Legion::Extensions.const_defined?(:Helpers) && Legion::Extensions::Helpers.const_defined?(:Lex)
39
+ end
40
+ end
41
+ end
42
+ end
43
+ end
44
+ end
@@ -0,0 +1,39 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'legion/extensions/aha/helpers/client'
4
+
5
+ module Legion
6
+ module Extensions
7
+ module Aha
8
+ module Roadmaps
9
+ module Runners
10
+ module RollUpReleases
11
+ extend Legion::Extensions::Aha::Helpers::Client
12
+
13
+ def list_roll_up_releases(product_id:, **)
14
+ response = client(**).get("/products/#{product_id}/roll_up_releases")
15
+ { result: response.body, status: response.status }
16
+ end
17
+
18
+ def get_roll_up_release(id:, **)
19
+ response = client(**).get("/roll_up_releases/#{id}")
20
+ { result: response.body, status: response.status }
21
+ end
22
+
23
+ def create_roll_up_release(product_id:, roll_up_release:, **)
24
+ response = client(**).post("/products/#{product_id}/roll_up_releases", { roll_up_release: roll_up_release })
25
+ { result: response.body, status: response.status }
26
+ end
27
+
28
+ def update_roll_up_release(id:, roll_up_release:, **)
29
+ response = client(**).put("/roll_up_releases/#{id}", { roll_up_release: roll_up_release })
30
+ { result: response.body, status: response.status }
31
+ end
32
+
33
+ include Legion::Extensions::Helpers::Lex if Legion::Extensions.const_defined?(:Helpers) && Legion::Extensions::Helpers.const_defined?(:Lex)
34
+ end
35
+ end
36
+ end
37
+ end
38
+ end
39
+ end
@@ -0,0 +1,49 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'legion/extensions/aha/helpers/client'
4
+
5
+ module Legion
6
+ module Extensions
7
+ module Aha
8
+ module Roadmaps
9
+ module Runners
10
+ module Strategy
11
+ extend Legion::Extensions::Aha::Helpers::Client
12
+
13
+ def list_strategic_models(**)
14
+ response = client(**).get('/strategy_models')
15
+ { result: response.body, status: response.status }
16
+ end
17
+
18
+ def get_strategic_model(id:, **)
19
+ response = client(**).get("/strategy_models/#{id}")
20
+ { result: response.body, status: response.status }
21
+ end
22
+
23
+ def list_strategic_positionings(**)
24
+ response = client(**).get('/strategy_positions')
25
+ { result: response.body, status: response.status }
26
+ end
27
+
28
+ def get_strategic_positioning(id:, **)
29
+ response = client(**).get("/strategy_positions/#{id}")
30
+ { result: response.body, status: response.status }
31
+ end
32
+
33
+ def list_strategic_visions(**)
34
+ response = client(**).get('/strategy_visions')
35
+ { result: response.body, status: response.status }
36
+ end
37
+
38
+ def get_strategic_vision(id:, **)
39
+ response = client(**).get("/strategy_visions/#{id}")
40
+ { result: response.body, status: response.status }
41
+ end
42
+
43
+ include Legion::Extensions::Helpers::Lex if Legion::Extensions.const_defined?(:Helpers) && Legion::Extensions::Helpers.const_defined?(:Lex)
44
+ end
45
+ end
46
+ end
47
+ end
48
+ end
49
+ end
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'legion/extensions/aha/roadmaps/runners/products'
4
+ require 'legion/extensions/aha/roadmaps/runners/releases'
5
+ require 'legion/extensions/aha/roadmaps/runners/release_phases'
6
+ require 'legion/extensions/aha/roadmaps/runners/roll_up_releases'
7
+ require 'legion/extensions/aha/roadmaps/runners/features'
8
+ require 'legion/extensions/aha/roadmaps/runners/epics'
9
+ require 'legion/extensions/aha/roadmaps/runners/requirements'
10
+ require 'legion/extensions/aha/roadmaps/runners/initiatives'
11
+ require 'legion/extensions/aha/roadmaps/runners/goals'
12
+ require 'legion/extensions/aha/roadmaps/runners/key_results'
13
+ require 'legion/extensions/aha/roadmaps/runners/strategy'
14
+ require 'legion/extensions/aha/roadmaps/runners/competitors'
15
+ require 'legion/extensions/aha/roadmaps/runners/personas'
16
+ require 'legion/extensions/aha/roadmaps/runners/capacity'
17
+ require_relative 'roadmaps/client'
18
+
19
+ module Legion
20
+ module Extensions
21
+ module Aha
22
+ module Roadmaps
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Legion
4
+ module Extensions
5
+ module Aha
6
+ VERSION = '0.1.0'
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'aha/version'
4
+ require_relative 'aha/helpers/client'
5
+ require_relative 'aha/base_client'
6
+ require_relative 'aha/roadmaps'
7
+ require_relative 'aha/ideas'
8
+ require_relative 'aha/knowledge'
9
+ require_relative 'aha/core'
10
+
11
+ module Legion
12
+ module Extensions
13
+ module Aha
14
+ extend Legion::Extensions::Core if Legion::Extensions.const_defined? :Core
15
+ end
16
+ end
17
+ end
metadata ADDED
@@ -0,0 +1,122 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: lex-aha
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Esity
8
+ bindir: bin
9
+ cert_chain: []
10
+ date: 1980-01-02 00:00:00.000000000 Z
11
+ dependencies:
12
+ - !ruby/object:Gem::Dependency
13
+ name: faraday
14
+ requirement: !ruby/object:Gem::Requirement
15
+ requirements:
16
+ - - ">="
17
+ - !ruby/object:Gem::Version
18
+ version: '2.0'
19
+ type: :runtime
20
+ prerelease: false
21
+ version_requirements: !ruby/object:Gem::Requirement
22
+ requirements:
23
+ - - ">="
24
+ - !ruby/object:Gem::Version
25
+ version: '2.0'
26
+ description: Connects LegionIO to the Aha! product management platform
27
+ email:
28
+ - matthewdiverson@gmail.com
29
+ executables: []
30
+ extensions: []
31
+ extra_rdoc_files: []
32
+ files:
33
+ - ".github/workflows/ci.yml"
34
+ - ".gitignore"
35
+ - ".rspec"
36
+ - ".rubocop.yml"
37
+ - CHANGELOG.md
38
+ - CLAUDE.md
39
+ - Dockerfile
40
+ - Gemfile
41
+ - LICENSE
42
+ - README.md
43
+ - lex-aha.gemspec
44
+ - lib/legion/extensions/aha.rb
45
+ - lib/legion/extensions/aha/base_client.rb
46
+ - lib/legion/extensions/aha/core.rb
47
+ - lib/legion/extensions/aha/core/client.rb
48
+ - lib/legion/extensions/aha/core/runners/admin.rb
49
+ - lib/legion/extensions/aha/core/runners/attachments.rb
50
+ - lib/legion/extensions/aha/core/runners/audits.rb
51
+ - lib/legion/extensions/aha/core/runners/comments.rb
52
+ - lib/legion/extensions/aha/core/runners/custom_fields.rb
53
+ - lib/legion/extensions/aha/core/runners/custom_table_records.rb
54
+ - lib/legion/extensions/aha/core/runners/integrations.rb
55
+ - lib/legion/extensions/aha/core/runners/me.rb
56
+ - lib/legion/extensions/aha/core/runners/record_links.rb
57
+ - lib/legion/extensions/aha/core/runners/teams.rb
58
+ - lib/legion/extensions/aha/core/runners/todos.rb
59
+ - lib/legion/extensions/aha/core/runners/users.rb
60
+ - lib/legion/extensions/aha/core/runners/webhooks.rb
61
+ - lib/legion/extensions/aha/core/runners/workflows.rb
62
+ - lib/legion/extensions/aha/helpers/client.rb
63
+ - lib/legion/extensions/aha/ideas.rb
64
+ - lib/legion/extensions/aha/ideas/client.rb
65
+ - lib/legion/extensions/aha/ideas/runners/idea_categories.rb
66
+ - lib/legion/extensions/aha/ideas/runners/idea_comments.rb
67
+ - lib/legion/extensions/aha/ideas/runners/idea_organizations.rb
68
+ - lib/legion/extensions/aha/ideas/runners/idea_portals.rb
69
+ - lib/legion/extensions/aha/ideas/runners/idea_subscriptions.rb
70
+ - lib/legion/extensions/aha/ideas/runners/idea_users.rb
71
+ - lib/legion/extensions/aha/ideas/runners/idea_votes.rb
72
+ - lib/legion/extensions/aha/ideas/runners/ideas.rb
73
+ - lib/legion/extensions/aha/knowledge.rb
74
+ - lib/legion/extensions/aha/knowledge/client.rb
75
+ - lib/legion/extensions/aha/knowledge/runners/knowledge_bases.rb
76
+ - lib/legion/extensions/aha/knowledge/runners/notes.rb
77
+ - lib/legion/extensions/aha/knowledge/runners/pages.rb
78
+ - lib/legion/extensions/aha/roadmaps.rb
79
+ - lib/legion/extensions/aha/roadmaps/client.rb
80
+ - lib/legion/extensions/aha/roadmaps/runners/capacity.rb
81
+ - lib/legion/extensions/aha/roadmaps/runners/competitors.rb
82
+ - lib/legion/extensions/aha/roadmaps/runners/epics.rb
83
+ - lib/legion/extensions/aha/roadmaps/runners/features.rb
84
+ - lib/legion/extensions/aha/roadmaps/runners/goals.rb
85
+ - lib/legion/extensions/aha/roadmaps/runners/initiatives.rb
86
+ - lib/legion/extensions/aha/roadmaps/runners/key_results.rb
87
+ - lib/legion/extensions/aha/roadmaps/runners/personas.rb
88
+ - lib/legion/extensions/aha/roadmaps/runners/products.rb
89
+ - lib/legion/extensions/aha/roadmaps/runners/release_phases.rb
90
+ - lib/legion/extensions/aha/roadmaps/runners/releases.rb
91
+ - lib/legion/extensions/aha/roadmaps/runners/requirements.rb
92
+ - lib/legion/extensions/aha/roadmaps/runners/roll_up_releases.rb
93
+ - lib/legion/extensions/aha/roadmaps/runners/strategy.rb
94
+ - lib/legion/extensions/aha/version.rb
95
+ homepage: https://github.com/LegionIO/lex-aha
96
+ licenses:
97
+ - MIT
98
+ metadata:
99
+ homepage_uri: https://github.com/LegionIO/lex-aha
100
+ source_code_uri: https://github.com/LegionIO/lex-aha
101
+ documentation_uri: https://github.com/LegionIO/lex-aha
102
+ changelog_uri: https://github.com/LegionIO/lex-aha/blob/main/CHANGELOG.md
103
+ bug_tracker_uri: https://github.com/LegionIO/lex-aha/issues
104
+ rubygems_mfa_required: 'true'
105
+ rdoc_options: []
106
+ require_paths:
107
+ - lib
108
+ required_ruby_version: !ruby/object:Gem::Requirement
109
+ requirements:
110
+ - - ">="
111
+ - !ruby/object:Gem::Version
112
+ version: '3.4'
113
+ required_rubygems_version: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ requirements: []
119
+ rubygems_version: 3.6.9
120
+ specification_version: 4
121
+ summary: LEX Aha
122
+ test_files: []