analytics_plane 1.0.2

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 (50) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +11 -0
  3. data/.rspec +3 -0
  4. data/.rubocop.yml +8 -0
  5. data/CHANGELOG.md +5 -0
  6. data/CODE_OF_CONDUCT.md +132 -0
  7. data/Gemfile +13 -0
  8. data/Gemfile.lock +271 -0
  9. data/LICENSE.txt +21 -0
  10. data/README.md +468 -0
  11. data/Rakefile +12 -0
  12. data/analytics_plane.gemspec +31 -0
  13. data/bin/console +11 -0
  14. data/bin/setup +8 -0
  15. data/lib/analytics_plane/adapters/active_record/chart_query.rb +106 -0
  16. data/lib/analytics_plane/adapters/active_record/report_query.rb +88 -0
  17. data/lib/analytics_plane/adapters/active_record_adapter.rb +39 -0
  18. data/lib/analytics_plane/adapters/base.rb +21 -0
  19. data/lib/analytics_plane/adapters/registry.rb +23 -0
  20. data/lib/analytics_plane/builders/chart_builder.rb +65 -0
  21. data/lib/analytics_plane/builders/report_builder.rb +50 -0
  22. data/lib/analytics_plane/data_sources/base.rb +13 -0
  23. data/lib/analytics_plane/data_sources/registry.rb +24 -0
  24. data/lib/analytics_plane/railtie.rb +10 -0
  25. data/lib/analytics_plane/registrar.rb +15 -0
  26. data/lib/analytics_plane/services/dataset_fetcher.rb +17 -0
  27. data/lib/analytics_plane/version.rb +5 -0
  28. data/lib/analytics_plane.rb +23 -0
  29. data/lib/generators/fios/chart/chart_generator.rb +34 -0
  30. data/lib/generators/fios/dashboard/dashboard_generator.rb +41 -0
  31. data/lib/generators/fios/data_source/data_source_generator.rb +16 -0
  32. data/lib/generators/fios/dataset/dataset_generator.rb +34 -0
  33. data/lib/generators/fios/install/install_generator.rb +15 -0
  34. data/lib/generators/fios/report/report_generator.rb +34 -0
  35. data/lib/generators/fios/templates/analytics_plane_initializer.rb +6 -0
  36. data/lib/generators/fios/templates/chart_model.rb +5 -0
  37. data/lib/generators/fios/templates/create_charts.rb +9 -0
  38. data/lib/generators/fios/templates/create_dashboard_widgets.rb +9 -0
  39. data/lib/generators/fios/templates/create_dashboards.rb +8 -0
  40. data/lib/generators/fios/templates/create_datasets.rb +11 -0
  41. data/lib/generators/fios/templates/create_reports.rb +9 -0
  42. data/lib/generators/fios/templates/dashboard_model.rb +7 -0
  43. data/lib/generators/fios/templates/dashboard_widget_model.rb +5 -0
  44. data/lib/generators/fios/templates/data_source.rb +7 -0
  45. data/lib/generators/fios/templates/dataset_model.rb +5 -0
  46. data/lib/generators/fios/templates/report_model.rb +5 -0
  47. data/sig/analytics_plane.rbs +4 -0
  48. data/spec/analytics_plane_spec.rb +7 -0
  49. data/spec/spec_helper.rb +15 -0
  50. metadata +112 -0
@@ -0,0 +1,7 @@
1
+ class <%= class_name %>
2
+ include AnalyticsPlane::DataSources::Base
3
+
4
+ def self.dataset_key
5
+ :<%= file_name %>
6
+ end
7
+ end
@@ -0,0 +1,5 @@
1
+ class <%= class_name %> < ApplicationRecord
2
+ validates :slug, presence: true, uniqueness: true
3
+ validates :name, presence: true, uniqueness: true
4
+ validates :adapter, presence: true
5
+ end
@@ -0,0 +1,5 @@
1
+ class <%= class_name %> < ApplicationRecord
2
+ store_accessor :configuration, :dataset_id, :aggregated, :columns, :filters
3
+
4
+ validates :name, presence: true, uniqueness: true
5
+ end
@@ -0,0 +1,4 @@
1
+ module AnalyticsPlane
2
+ VERSION: String
3
+ # See the writing guide of rbs: https://github.com/ruby/rbs#guides
4
+ end
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ RSpec.describe AnalyticsPlane do
4
+ it "has a version number" do
5
+ expect(AnalyticsPlane::VERSION).not_to be nil
6
+ end
7
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "analytics_plane"
4
+
5
+ RSpec.configure do |config|
6
+ # Enable flags like --only-failures and --next-failure
7
+ config.example_status_persistence_file_path = ".rspec_status"
8
+
9
+ # Disable RSpec exposing methods globally on `Module` and `main`
10
+ config.disable_monkey_patching!
11
+
12
+ config.expect_with :rspec do |c|
13
+ c.syntax = :expect
14
+ end
15
+ end
metadata ADDED
@@ -0,0 +1,112 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: analytics_plane
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.2
5
+ platform: ruby
6
+ authors:
7
+ - Mark Harbison
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2026-02-07 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rails
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '6.1'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '6.1'
27
+ description: A data analytics framework for building charts, dashboards, and reports
28
+ in Ruby.
29
+ email:
30
+ - mark@tyne-solutions.com
31
+ executables: []
32
+ extensions: []
33
+ extra_rdoc_files: []
34
+ files:
35
+ - ".gitignore"
36
+ - ".rspec"
37
+ - ".rubocop.yml"
38
+ - CHANGELOG.md
39
+ - CODE_OF_CONDUCT.md
40
+ - Gemfile
41
+ - Gemfile.lock
42
+ - LICENSE.txt
43
+ - README.md
44
+ - Rakefile
45
+ - analytics_plane.gemspec
46
+ - bin/console
47
+ - bin/setup
48
+ - lib/analytics_plane.rb
49
+ - lib/analytics_plane/adapters/active_record/chart_query.rb
50
+ - lib/analytics_plane/adapters/active_record/report_query.rb
51
+ - lib/analytics_plane/adapters/active_record_adapter.rb
52
+ - lib/analytics_plane/adapters/base.rb
53
+ - lib/analytics_plane/adapters/registry.rb
54
+ - lib/analytics_plane/builders/chart_builder.rb
55
+ - lib/analytics_plane/builders/report_builder.rb
56
+ - lib/analytics_plane/data_sources/base.rb
57
+ - lib/analytics_plane/data_sources/registry.rb
58
+ - lib/analytics_plane/railtie.rb
59
+ - lib/analytics_plane/registrar.rb
60
+ - lib/analytics_plane/services/dataset_fetcher.rb
61
+ - lib/analytics_plane/version.rb
62
+ - lib/generators/fios/chart/chart_generator.rb
63
+ - lib/generators/fios/dashboard/dashboard_generator.rb
64
+ - lib/generators/fios/data_source/data_source_generator.rb
65
+ - lib/generators/fios/dataset/dataset_generator.rb
66
+ - lib/generators/fios/install/install_generator.rb
67
+ - lib/generators/fios/report/report_generator.rb
68
+ - lib/generators/fios/templates/analytics_plane_initializer.rb
69
+ - lib/generators/fios/templates/chart_model.rb
70
+ - lib/generators/fios/templates/create_charts.rb
71
+ - lib/generators/fios/templates/create_dashboard_widgets.rb
72
+ - lib/generators/fios/templates/create_dashboards.rb
73
+ - lib/generators/fios/templates/create_datasets.rb
74
+ - lib/generators/fios/templates/create_reports.rb
75
+ - lib/generators/fios/templates/dashboard_model.rb
76
+ - lib/generators/fios/templates/dashboard_widget_model.rb
77
+ - lib/generators/fios/templates/data_source.rb
78
+ - lib/generators/fios/templates/dataset_model.rb
79
+ - lib/generators/fios/templates/report_model.rb
80
+ - sig/analytics_plane.rbs
81
+ - spec/analytics_plane_spec.rb
82
+ - spec/spec_helper.rb
83
+ homepage: https://github.com/CodeTectonics/analytics_plane
84
+ licenses:
85
+ - MIT
86
+ metadata:
87
+ homepage_uri: https://github.com/CodeTectonics/analytics_plane
88
+ source_code_uri: https://github.com/CodeTectonics/analytics_plane
89
+ changelog_uri: https://github.com/CodeTectonics/analytics_plane/blob/main/CHANGELOG.md
90
+ post_install_message:
91
+ rdoc_options: []
92
+ require_paths:
93
+ - lib
94
+ required_ruby_version: !ruby/object:Gem::Requirement
95
+ requirements:
96
+ - - ">="
97
+ - !ruby/object:Gem::Version
98
+ version: 3.2.0
99
+ required_rubygems_version: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ requirements: []
105
+ rubygems_version: 3.4.19
106
+ signing_key:
107
+ specification_version: 4
108
+ summary: A data analytics framework for building charts, dashboards, and reports in
109
+ Ruby.
110
+ test_files:
111
+ - spec/analytics_plane_spec.rb
112
+ - spec/spec_helper.rb