query_diet 0.2.0 → 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,5 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="Encoding" useUTFGuessing="true" native2AsciiForPropertiesFiles="false" />
4
+ </project>
5
+
@@ -0,0 +1,25 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="DependencyValidationManager">
4
+ <option name="SKIP_IMPORT_STATEMENTS" value="false" />
5
+ </component>
6
+ <component name="ProjectDetails">
7
+ <option name="projectName" value="query_diet" />
8
+ </component>
9
+ <component name="ProjectRootManager" version="2" project-jdk-name="Ruby SDK 1.8.7 (/usr/bin/ruby)" project-jdk-type="RUBY_SDK" />
10
+ <component name="SvnConfiguration">
11
+ <option name="USER" value="" />
12
+ <option name="PASSWORD" value="" />
13
+ <option name="LAST_MERGED_REVISION" />
14
+ <option name="UPDATE_RUN_STATUS" value="false" />
15
+ <option name="MERGE_DRY_RUN" value="false" />
16
+ <option name="MERGE_DIFF_USE_ANCESTRY" value="true" />
17
+ <option name="UPDATE_LOCK_ON_DEMAND" value="false" />
18
+ <option name="IGNORE_SPACES_IN_MERGE" value="false" />
19
+ <option name="DETECT_NESTED_COPIES" value="false" />
20
+ <option name="IGNORE_SPACES_IN_ANNOTATE" value="true" />
21
+ <option name="SHOW_MERGE_SOURCES_IN_ANNOTATE" value="true" />
22
+ <myIsUseDefaultProxy>false</myIsUseDefaultProxy>
23
+ </component>
24
+ </project>
25
+
@@ -0,0 +1,9 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="ProjectModuleManager">
4
+ <modules>
5
+ <module fileurl="file://$PROJECT_DIR$/.idea/query_diet.iml" filepath="$PROJECT_DIR$/.idea/query_diet.iml" />
6
+ </modules>
7
+ </component>
8
+ </project>
9
+
@@ -0,0 +1,25 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <module type="RUBY_MODULE" version="4">
3
+ <component name="GemRequirementsHolder" version="2">
4
+ <requirement>
5
+ <requirement>
6
+ <dependency name="rails" version="0" bound="GREATER_OR_EQUAL" git="false" />
7
+ </requirement>
8
+ <source from="spec/app_root/config/boot.rb" />
9
+ </requirement>
10
+ </component>
11
+ <component name="NewModuleRootManager">
12
+ <content url="file://$MODULE_DIR$" />
13
+ <orderEntry type="inheritedJdk" />
14
+ <orderEntry type="sourceFolder" forTests="false" />
15
+ <orderEntry type="library" scope="PROVIDED" name="[gem] rails (v2.3.5, /usr/lib/ruby/gems/1.8/gems/rails-2.3.5)" level="application" />
16
+ <orderEntry type="library" scope="PROVIDED" name="[gem] activerecord (v2.3.5, /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.5)" level="application" />
17
+ <orderEntry type="library" scope="PROVIDED" name="[gem] rack (v1.0.1, /usr/lib/ruby/gems/1.8/gems/rack-1.0.1)" level="application" />
18
+ <orderEntry type="library" scope="PROVIDED" name="[gem] rake (v0.8.7, /usr/lib/ruby/gems/1.8/gems/rake-0.8.7)" level="application" />
19
+ <orderEntry type="library" scope="PROVIDED" name="[gem] activesupport (v2.3.5, /usr/lib/ruby/gems/1.8/gems/activesupport-2.3.5)" level="application" />
20
+ <orderEntry type="library" scope="PROVIDED" name="[gem] actionpack (v2.3.5, /usr/lib/ruby/gems/1.8/gems/actionpack-2.3.5)" level="application" />
21
+ <orderEntry type="library" scope="PROVIDED" name="[gem] actionmailer (v2.3.5, /usr/lib/ruby/gems/1.8/gems/actionmailer-2.3.5)" level="application" />
22
+ <orderEntry type="library" scope="PROVIDED" name="[gem] activeresource (v2.3.5, /usr/lib/ruby/gems/1.8/gems/activeresource-2.3.5)" level="application" />
23
+ </component>
24
+ </module>
25
+
@@ -0,0 +1,8 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="VcsDirectoryMappings">
4
+ <mapping directory="" vcs="" />
5
+ <mapping directory="$PROJECT_DIR$" vcs="Git" />
6
+ </component>
7
+ </project>
8
+
data/Gemfile ADDED
@@ -0,0 +1,6 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gem 'rails', '=2.3.11'
4
+ gem 'rspec', '=1.3.1'
5
+ gem 'rspec-rails', '=1.3.3'
6
+
@@ -0,0 +1,34 @@
1
+ GEM
2
+ remote: https://rubygems.org/
3
+ specs:
4
+ actionmailer (2.3.11)
5
+ actionpack (= 2.3.11)
6
+ actionpack (2.3.11)
7
+ activesupport (= 2.3.11)
8
+ rack (~> 1.1.0)
9
+ activerecord (2.3.11)
10
+ activesupport (= 2.3.11)
11
+ activeresource (2.3.11)
12
+ activesupport (= 2.3.11)
13
+ activesupport (2.3.11)
14
+ rack (1.1.0)
15
+ rails (2.3.11)
16
+ actionmailer (= 2.3.11)
17
+ actionpack (= 2.3.11)
18
+ activerecord (= 2.3.11)
19
+ activeresource (= 2.3.11)
20
+ activesupport (= 2.3.11)
21
+ rake (>= 0.8.3)
22
+ rake (0.8.7)
23
+ rspec (1.3.1)
24
+ rspec-rails (1.3.3)
25
+ rack (>= 1.0.0)
26
+ rspec (= 1.3.1)
27
+
28
+ PLATFORMS
29
+ ruby
30
+
31
+ DEPENDENCIES
32
+ rails (= 2.3.11)
33
+ rspec (= 1.3.1)
34
+ rspec-rails (= 1.3.3)
@@ -1,34 +1,44 @@
1
- = Query Diet
2
-
3
- Query Diet counts the number of database queries for the last request and *subtly* displays it in the upper right corner of your screen.
4
- The display turns red if too many queries are run, or if they take too long.
5
- This is useful to prevent {N + 1 queries}[http://guides.rubyonrails.org/active_record_querying.html#eager-loading-associations] from creeping into your code.
6
-
7
- == Installation
8
-
9
- Install the gem with
10
- sudo gem install query_diet
11
-
12
- There is no further setup necessary after you add the <tt>query_diet</tt> dependency to your Rails application.
13
-
14
- We recommend you only use the gem with the development environment.
15
-
16
- == Changing warning thresholds
17
-
18
- You can define when the counter turns into a red warning. The default threshold is 8 queries and 5000 miliseconds.
19
- To change the default, add the following to <tt>config/initializers/query_diet.rb</tt>:
20
-
21
- if defined?(QueryDiet)
22
- QueryDiet::Logger.bad_count = 8
23
- QueryDiet::Logger.bad_time = 5000
24
- end
25
-
26
- == Rails 3 compatibility
27
-
28
- We cannot guarantee Rails 3 compatibility at this point, but we will upgrade the gem when Rails 3 is released.
29
-
30
- === Credits
31
-
32
- Henning Koch
33
-
34
- {www.makandra.de}[http://www.makandra.de/]
1
+ = Query Diet
2
+
3
+ Query Diet counts the number of database queries for the last request and *subtly* displays it in the upper right corner of your screen.
4
+ The display turns red if too many queries are run, or if they take too long.
5
+ This is useful to prevent {N + 1 queries}[http://guides.rubyonrails.org/active_record_querying.html#eager-loading-associations] from creeping into your code.
6
+
7
+ This is Query Diet being happy about 3 requests taking 66ms:
8
+
9
+ http://gem-session.com/files/query_diet_happy.png
10
+
11
+ This is Query Diet being angry about 103 requests taking 164ms:
12
+
13
+ http://gem-session.com/files/query_diet_angry.png
14
+
15
+ == Installation
16
+
17
+ Install the gem with
18
+ sudo gem install query_diet
19
+
20
+ There is no further setup necessary after you add the <tt>query_diet</tt> dependency to your Rails application.
21
+
22
+ We recommend you only use the gem with the development environment.
23
+
24
+ == Changing warning thresholds
25
+
26
+ You can define when the counter turns into a red warning. The default threshold is 8 queries and 5000 miliseconds.
27
+ To change the default, add the following to <tt>config/initializers/query_diet.rb</tt>:
28
+
29
+ if defined?(QueryDiet)
30
+ QueryDiet::Logger.bad_count = 8
31
+ QueryDiet::Logger.bad_time = 5000
32
+ end
33
+
34
+ == Rails 3 compatibility
35
+
36
+ We cannot guarantee Rails 3 compatibility at this point, but we will upgrade the gem when Rails 3 is released.
37
+
38
+ === Credits
39
+
40
+ Henning Koch
41
+
42
+ {makandra.com}[http://makandra.com/]
43
+
44
+ {gem-session.com}[http://gem-session.com/]
data/Rakefile CHANGED
File without changes
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.2.0
1
+ 0.2.1
@@ -17,20 +17,16 @@ module QueryDiet
17
17
  <style type="text/css"><!--
18
18
  div#query_diet {
19
19
  position: absolute;
20
- top: 0px;
21
- right: 0px;
20
+ top: 0;
21
+ right: 0;
22
22
  background-color: black;
23
23
  color: white;
24
24
  z-index: 999;
25
25
  padding: 4px 6px;
26
- font-family; arial, sans-serif;
27
- font-size: 12px;
28
- line-height: 12px;
29
- font-weight: bold;
26
+ font: normal bold 12px/12px Arial, sans-serif;
30
27
  cursor: pointer;
31
28
  }
32
29
  div#query_diet.good {
33
- xbackground-color: #160;
34
30
  filter:alpha(opacity=30);
35
31
  -moz-opacity:0.3;
36
32
  -khtml-opacity: 0.3;
@@ -1,93 +1,102 @@
1
1
  # Generated by jeweler
2
- # DO NOT EDIT THIS FILE
3
- # Instead, edit Jeweler::Tasks in Rakefile, and run `rake gemspec`
2
+ # DO NOT EDIT THIS FILE DIRECTLY
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{query_diet}
8
- s.version = "0.2.0"
8
+ s.version = "0.2.1"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Henning Koch"]
12
- s.date = %q{2010-06-23}
12
+ s.date = %q{2011-02-18}
13
13
  s.description = %q{Rails database query counter that stays out of your way}
14
14
  s.email = %q{github@makandra.de}
15
15
  s.extra_rdoc_files = [
16
16
  "README.rdoc"
17
17
  ]
18
18
  s.files = [
19
- ".gitignore",
20
- ".idea/encodings.xml",
21
- ".idea/misc.xml",
22
- ".idea/modules.xml",
23
- ".idea/query_diet.iml",
24
- ".idea/vcs.xml",
25
- "MIT-LICENSE",
26
- "README.rdoc",
27
- "Rakefile",
28
- "VERSION",
29
- "lib/query_diet.rb",
30
- "lib/query_diet/action_controller_ext.rb",
31
- "lib/query_diet/active_record_ext.rb",
32
- "lib/query_diet/logger.rb",
33
- "lib/query_diet/widget.rb",
34
- "query_diet.gemspec",
35
- "spec/app_root/app/controllers/application_controller.rb",
36
- "spec/app_root/app/controllers/query_diet_controller.rb",
37
- "spec/app_root/app/models/movie.rb",
38
- "spec/app_root/app/views/layouts/screen.html.erb",
39
- "spec/app_root/app/views/query_diet/no_query.html.erb",
40
- "spec/app_root/app/views/query_diet/two_queries.html.erb",
41
- "spec/app_root/config/boot.rb",
42
- "spec/app_root/config/database.yml",
43
- "spec/app_root/config/environment.rb",
44
- "spec/app_root/config/environments/in_memory.rb",
45
- "spec/app_root/config/environments/mysql.rb",
46
- "spec/app_root/config/environments/postgresql.rb",
47
- "spec/app_root/config/environments/sqlite.rb",
48
- "spec/app_root/config/environments/sqlite3.rb",
49
- "spec/app_root/config/routes.rb",
50
- "spec/app_root/db/migrate/001_create_movies.rb",
51
- "spec/app_root/lib/console_with_fixtures.rb",
52
- "spec/app_root/log/.gitignore",
53
- "spec/app_root/script/console",
54
- "spec/controllers/query_diet_controller_spec.rb",
55
- "spec/logger_spec.rb",
56
- "spec/spec_helper.rb",
57
- "spec/support/rcov.opts",
58
- "spec/support/spec.opts"
19
+ ".idea/encodings.xml",
20
+ ".idea/misc.xml",
21
+ ".idea/modules.xml",
22
+ ".idea/query_diet.iml",
23
+ ".idea/vcs.xml",
24
+ "Gemfile",
25
+ "Gemfile.lock",
26
+ "MIT-LICENSE",
27
+ "README.rdoc",
28
+ "Rakefile",
29
+ "VERSION",
30
+ "lib/query_diet.rb",
31
+ "lib/query_diet/action_controller_ext.rb",
32
+ "lib/query_diet/active_record_ext.rb",
33
+ "lib/query_diet/logger.rb",
34
+ "lib/query_diet/widget.rb",
35
+ "query_diet.gemspec",
36
+ "spec/app_root/app/controllers/application_controller.rb",
37
+ "spec/app_root/app/controllers/query_diet_controller.rb",
38
+ "spec/app_root/app/models/movie.rb",
39
+ "spec/app_root/app/views/layouts/screen.html.erb",
40
+ "spec/app_root/app/views/query_diet/no_query.html.erb",
41
+ "spec/app_root/app/views/query_diet/two_queries.html.erb",
42
+ "spec/app_root/config/boot.rb",
43
+ "spec/app_root/config/database.yml",
44
+ "spec/app_root/config/environment.rb",
45
+ "spec/app_root/config/environments/in_memory.rb",
46
+ "spec/app_root/config/environments/mysql.rb",
47
+ "spec/app_root/config/environments/postgresql.rb",
48
+ "spec/app_root/config/environments/sqlite.rb",
49
+ "spec/app_root/config/environments/sqlite3.rb",
50
+ "spec/app_root/config/routes.rb",
51
+ "spec/app_root/db/migrate/001_create_movies.rb",
52
+ "spec/app_root/lib/console_with_fixtures.rb",
53
+ "spec/app_root/log/.gitignore",
54
+ "spec/app_root/script/console",
55
+ "spec/controllers/query_diet_controller_spec.rb",
56
+ "spec/logger_spec.rb",
57
+ "spec/spec_helper.rb",
58
+ "spec/support/rcov.opts",
59
+ "spec/support/spec.opts"
59
60
  ]
60
61
  s.homepage = %q{http://github.com/makandra/query_diet}
61
- s.rdoc_options = ["--charset=UTF-8"]
62
62
  s.require_paths = ["lib"]
63
- s.rubygems_version = %q{1.3.6}
63
+ s.rubygems_version = %q{1.5.2}
64
64
  s.summary = %q{Rails database query counter that stays out of your way}
65
65
  s.test_files = [
66
- "spec/spec_helper.rb",
67
- "spec/app_root/db/migrate/001_create_movies.rb",
68
- "spec/app_root/config/boot.rb",
69
- "spec/app_root/config/environment.rb",
70
- "spec/app_root/config/routes.rb",
71
- "spec/app_root/config/environments/in_memory.rb",
72
- "spec/app_root/config/environments/mysql.rb",
73
- "spec/app_root/config/environments/postgresql.rb",
74
- "spec/app_root/config/environments/sqlite.rb",
75
- "spec/app_root/config/environments/sqlite3.rb",
76
- "spec/app_root/lib/console_with_fixtures.rb",
77
- "spec/app_root/app/controllers/application_controller.rb",
78
- "spec/app_root/app/controllers/query_diet_controller.rb",
79
- "spec/app_root/app/models/movie.rb",
80
- "spec/controllers/query_diet_controller_spec.rb",
81
- "spec/logger_spec.rb"
66
+ "spec/app_root/app/controllers/application_controller.rb",
67
+ "spec/app_root/app/controllers/query_diet_controller.rb",
68
+ "spec/app_root/app/models/movie.rb",
69
+ "spec/app_root/config/boot.rb",
70
+ "spec/app_root/config/environment.rb",
71
+ "spec/app_root/config/environments/in_memory.rb",
72
+ "spec/app_root/config/environments/mysql.rb",
73
+ "spec/app_root/config/environments/postgresql.rb",
74
+ "spec/app_root/config/environments/sqlite.rb",
75
+ "spec/app_root/config/environments/sqlite3.rb",
76
+ "spec/app_root/config/routes.rb",
77
+ "spec/app_root/db/migrate/001_create_movies.rb",
78
+ "spec/app_root/lib/console_with_fixtures.rb",
79
+ "spec/controllers/query_diet_controller_spec.rb",
80
+ "spec/logger_spec.rb",
81
+ "spec/spec_helper.rb"
82
82
  ]
83
83
 
84
84
  if s.respond_to? :specification_version then
85
- current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
86
85
  s.specification_version = 3
87
86
 
88
- if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
87
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
88
+ s.add_runtime_dependency(%q<rails>, ["= 2.3.11"])
89
+ s.add_runtime_dependency(%q<rspec>, ["= 1.3.1"])
90
+ s.add_runtime_dependency(%q<rspec-rails>, ["= 1.3.3"])
89
91
  else
92
+ s.add_dependency(%q<rails>, ["= 2.3.11"])
93
+ s.add_dependency(%q<rspec>, ["= 1.3.1"])
94
+ s.add_dependency(%q<rspec-rails>, ["= 1.3.3"])
90
95
  end
91
96
  else
97
+ s.add_dependency(%q<rails>, ["= 2.3.11"])
98
+ s.add_dependency(%q<rspec>, ["= 1.3.1"])
99
+ s.add_dependency(%q<rspec-rails>, ["= 1.3.3"])
92
100
  end
93
101
  end
102
+
metadata CHANGED
@@ -1,12 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: query_diet
3
3
  version: !ruby/object:Gem::Version
4
- prerelease: false
4
+ hash: 21
5
+ prerelease:
5
6
  segments:
6
7
  - 0
7
8
  - 2
8
- - 0
9
- version: 0.2.0
9
+ - 1
10
+ version: 0.2.1
10
11
  platform: ruby
11
12
  authors:
12
13
  - Henning Koch
@@ -14,10 +15,57 @@ autorequire:
14
15
  bindir: bin
15
16
  cert_chain: []
16
17
 
17
- date: 2010-06-23 00:00:00 +02:00
18
+ date: 2011-02-18 00:00:00 +01:00
18
19
  default_executable:
19
- dependencies: []
20
-
20
+ dependencies:
21
+ - !ruby/object:Gem::Dependency
22
+ name: rails
23
+ version_requirements: &id001 !ruby/object:Gem::Requirement
24
+ none: false
25
+ requirements:
26
+ - - "="
27
+ - !ruby/object:Gem::Version
28
+ hash: 21
29
+ segments:
30
+ - 2
31
+ - 3
32
+ - 11
33
+ version: 2.3.11
34
+ prerelease: false
35
+ type: :runtime
36
+ requirement: *id001
37
+ - !ruby/object:Gem::Dependency
38
+ name: rspec
39
+ version_requirements: &id002 !ruby/object:Gem::Requirement
40
+ none: false
41
+ requirements:
42
+ - - "="
43
+ - !ruby/object:Gem::Version
44
+ hash: 25
45
+ segments:
46
+ - 1
47
+ - 3
48
+ - 1
49
+ version: 1.3.1
50
+ prerelease: false
51
+ type: :runtime
52
+ requirement: *id002
53
+ - !ruby/object:Gem::Dependency
54
+ name: rspec-rails
55
+ version_requirements: &id003 !ruby/object:Gem::Requirement
56
+ none: false
57
+ requirements:
58
+ - - "="
59
+ - !ruby/object:Gem::Version
60
+ hash: 29
61
+ segments:
62
+ - 1
63
+ - 3
64
+ - 3
65
+ version: 1.3.3
66
+ prerelease: false
67
+ type: :runtime
68
+ requirement: *id003
21
69
  description: Rails database query counter that stays out of your way
22
70
  email: github@makandra.de
23
71
  executables: []
@@ -27,12 +75,13 @@ extensions: []
27
75
  extra_rdoc_files:
28
76
  - README.rdoc
29
77
  files:
30
- - .gitignore
31
78
  - .idea/encodings.xml
32
79
  - .idea/misc.xml
33
80
  - .idea/modules.xml
34
81
  - .idea/query_diet.iml
35
82
  - .idea/vcs.xml
83
+ - Gemfile
84
+ - Gemfile.lock
36
85
  - MIT-LICENSE
37
86
  - README.rdoc
38
87
  - Rakefile
@@ -72,45 +121,49 @@ homepage: http://github.com/makandra/query_diet
72
121
  licenses: []
73
122
 
74
123
  post_install_message:
75
- rdoc_options:
76
- - --charset=UTF-8
124
+ rdoc_options: []
125
+
77
126
  require_paths:
78
127
  - lib
79
128
  required_ruby_version: !ruby/object:Gem::Requirement
129
+ none: false
80
130
  requirements:
81
131
  - - ">="
82
132
  - !ruby/object:Gem::Version
133
+ hash: 3
83
134
  segments:
84
135
  - 0
85
136
  version: "0"
86
137
  required_rubygems_version: !ruby/object:Gem::Requirement
138
+ none: false
87
139
  requirements:
88
140
  - - ">="
89
141
  - !ruby/object:Gem::Version
142
+ hash: 3
90
143
  segments:
91
144
  - 0
92
145
  version: "0"
93
146
  requirements: []
94
147
 
95
148
  rubyforge_project:
96
- rubygems_version: 1.3.6
149
+ rubygems_version: 1.5.2
97
150
  signing_key:
98
151
  specification_version: 3
99
152
  summary: Rails database query counter that stays out of your way
100
153
  test_files:
101
- - spec/spec_helper.rb
102
- - spec/app_root/db/migrate/001_create_movies.rb
154
+ - spec/app_root/app/controllers/application_controller.rb
155
+ - spec/app_root/app/controllers/query_diet_controller.rb
156
+ - spec/app_root/app/models/movie.rb
103
157
  - spec/app_root/config/boot.rb
104
158
  - spec/app_root/config/environment.rb
105
- - spec/app_root/config/routes.rb
106
159
  - spec/app_root/config/environments/in_memory.rb
107
160
  - spec/app_root/config/environments/mysql.rb
108
161
  - spec/app_root/config/environments/postgresql.rb
109
162
  - spec/app_root/config/environments/sqlite.rb
110
163
  - spec/app_root/config/environments/sqlite3.rb
164
+ - spec/app_root/config/routes.rb
165
+ - spec/app_root/db/migrate/001_create_movies.rb
111
166
  - spec/app_root/lib/console_with_fixtures.rb
112
- - spec/app_root/app/controllers/application_controller.rb
113
- - spec/app_root/app/controllers/query_diet_controller.rb
114
- - spec/app_root/app/models/movie.rb
115
167
  - spec/controllers/query_diet_controller_spec.rb
116
168
  - spec/logger_spec.rb
169
+ - spec/spec_helper.rb
data/.gitignore DELETED
@@ -1,5 +0,0 @@
1
- doc
2
- pkg
3
- *.gem
4
- .idea
5
-