tng 0.1.4 → 0.1.6

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 58907277090e7b363bd0907be694ee5023ec4b18b0d24a4ab0956ba2e29fd648
4
- data.tar.gz: 055abaa322144382a523118edbef976b6ded86425b18d5c6b0308c5e282d3d89
3
+ metadata.gz: d9a79e45532cb4a0a79648c689dc0b74de6b9ce630f9bcf133441ff5bb927e6c
4
+ data.tar.gz: 91841602114d06c26e04983a5db2912b21efb0f9e0f810a31f2de1c4d25ea7e6
5
5
  SHA512:
6
- metadata.gz: e321fee31b6b91e63c54a318b30f28b66cf05e4e342a2cca2fbc67d1fa76e86ee9102fd788ede777bd6d8f80f32bc7d46bfa985db7b82d4e1b91efe2e32addc3
7
- data.tar.gz: eca7b0234cf41ef0466f4016229a9236c577e4b0488a227ffa96cfb2baac4587309e70dc95ef6460bad0b4225f98582f00e1c2a50c310e7259a39e3d97f0c3ea
6
+ metadata.gz: 1ea19d449f5996ced3d0b0a654ae0549c78cb8c82632d328ee3754c76ed0941e5ba0eff184e362643307d555b93802ef324d42ef19dcf285c0680ed18886d065
7
+ data.tar.gz: 126e393b129b43bf94fd9421b08212cbcb42c54c133b2c3fd0643f01ba8f93613b048f64aa47e285501785e68e984597ea30c13bb56b3f40653a381aebbd9e65
@@ -46,6 +46,9 @@ class ShowHelp
46
46
  @pastel.public_send(Tng::UI::Theme.color(:success),
47
47
  " bundle exec tng -t m -f user") + @pastel.public_send(Tng::UI::Theme.color(:muted),
48
48
  " # Model test"),
49
+ @pastel.public_send(Tng::UI::Theme.color(:success),
50
+ " bundle exec tng -t s -f user_service") + @pastel.public_send(Tng::UI::Theme.color(:muted),
51
+ " # Service test"),
49
52
  @pastel.public_send(Tng::UI::Theme.color(:success),
50
53
  " bundle exec tng --type=controller --file=users_controller"),
51
54
  @pastel.public_send(Tng::UI::Theme.color(:success),
@@ -55,7 +58,7 @@ class ShowHelp
55
58
  @pastel.public_send(Tng::UI::Theme.color(:accent)).bold("Options:"),
56
59
  @pastel.public_send(Tng::UI::Theme.color(:primary),
57
60
  " -t, --type=TYPE") + @pastel.public_send(Tng::UI::Theme.color(:muted),
58
- " Test type (controller, model)"),
61
+ " Test type (controller, model, service)"),
59
62
  @pastel.public_send(Tng::UI::Theme.color(:primary),
60
63
  " -f, --file=FILE") + @pastel.public_send(Tng::UI::Theme.color(:muted),
61
64
  " File name (without .rb extension)"),
@@ -74,6 +77,10 @@ class ShowHelp
74
77
  " #{Tng::UI::Theme.icon(:bullet)} Models: ") + @pastel.public_send(
75
78
  Tng::UI::Theme.color(:secondary), "m, mo, model"
76
79
  ),
80
+ @pastel.public_send(Tng::UI::Theme.color(:muted),
81
+ " #{Tng::UI::Theme.icon(:bullet)} Services: ") + @pastel.public_send(
82
+ Tng::UI::Theme.color(:secondary), "s, se, service"
83
+ ),
77
84
  "",
78
85
  @pastel.public_send(Tng::UI::Theme.color(:accent)).bold("File Format:"),
79
86
  @pastel.public_send(Tng::UI::Theme.color(:muted),
@@ -83,6 +90,10 @@ class ShowHelp
83
90
  " #{Tng::UI::Theme.icon(:bullet)} Models: ") + @pastel.public_send(
84
91
  Tng::UI::Theme.color(:success), "user, blog/post"
85
92
  ),
93
+ @pastel.public_send(Tng::UI::Theme.color(:muted),
94
+ " #{Tng::UI::Theme.icon(:bullet)} Services: ") + @pastel.public_send(
95
+ Tng::UI::Theme.color(:success), "user_service, payment/stripe_service"
96
+ ),
86
97
  @pastel.public_send(Tng::UI::Theme.color(:muted),
87
98
  " #{Tng::UI::Theme.icon(:bullet)} Don't include .rb extension"),
88
99
  "",
data/lib/tng/ui/theme.rb CHANGED
@@ -104,22 +104,23 @@ module Tng
104
104
  }
105
105
  }.freeze
106
106
 
107
- # Helper methods for consistent styling
108
107
  module_function
109
108
 
109
+ # Cache for background detection to avoid multiple escape sequences
110
+ @background_cache = nil
111
+
110
112
  def detect_terminal_background
111
- # Manual override for TNG (highest priority)
112
- case ENV["TNG_TERMINAL_THEME"]&.downcase
113
- when "light"
114
- :light
115
- when "dark"
116
- :dark
117
- else
118
- get_background_color
119
- end
113
+ # Return cached result if available
114
+ return @background_cache if @background_cache
115
+
116
+ # Get background color and cache the result
117
+ @background_cache = get_background_color
118
+ @background_cache
120
119
  end
121
120
 
122
121
  def get_background_color
122
+ return :dark unless $stdout.tty? && $stdin.tty? && interactive_session?
123
+
123
124
  print "\e]11;?\e\\"
124
125
  $stdout.flush
125
126
 
@@ -168,6 +169,15 @@ module Tng
168
169
  end
169
170
  end
170
171
 
172
+ def interactive_session?
173
+ return false if defined?(Rails) && Rails.respond_to?(:application) && Rails.application&.initialized?
174
+ return false if ENV["BUNDLE_GEMFILE"]
175
+ return false if $PROGRAM_NAME&.include?("bundle")
176
+ return false if $PROGRAM_NAME&.include?("rails") && ARGV.any? { |arg| %w[server console runner].include?(arg) }
177
+
178
+ ENV["TNG_CLI"] == "true" || $PROGRAM_NAME&.include?("tng")
179
+ end
180
+
171
181
  def adaptive_color(color_key)
172
182
  base_color = base_color(color_key)
173
183
 
data/lib/tng/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Tng
4
- VERSION = "0.1.4"
4
+ VERSION = "0.1.6"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tng
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 0.1.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - ralucab
@@ -268,7 +268,7 @@ post_install_message: "┌ TNG ────────────────
268
268
  exec tng --help - Show all options │\n│ │\n│
269
269
  \ \U0001F4A1 Use -t c for controller, -t m for model │\n│
270
270
  \ │\n└────────────────────────────────────────────────────────────
271
- v0.1.4 ┘\n"
271
+ v0.1.6 ┘\n"
272
272
  rdoc_options: []
273
273
  require_paths:
274
274
  - lib