From f3d175a42461cfc23c25e4a515a5aad3246a1948 Mon Sep 17 00:00:00 2001 From: Andrew Brown Date: Fri, 18 Jan 2019 19:51:42 -0600 Subject: [PATCH] fill in some metric views --- Gemfile | 2 ++ Gemfile.lock | 9 +++++++- app/assets/javascripts/application.js | 3 --- app/assets/stylesheets/theme.scss | 10 ++++----- app/jobs/metrics_job.rb | 2 +- app/jobs/word_frequency_metrics_job.rb | 2 +- app/models/concerns/has_parts_of_speech.rb | 3 ++- app/views/books/show.html.erb | 6 +++--- app/views/metrics/_age_estimate.html.erb | 2 +- app/views/metrics/_frequency_table.html.erb | 21 ++++++++++++++++++- app/views/metrics/_grade_level_scale.html.erb | 2 +- app/views/metrics/_integer.html.erb | 2 +- app/views/metrics/_readability_scale.html.erb | 1 + app/views/metrics/_word_list.html.erb | 7 ++++++- app/views/metrics/_word_singular.html.erb | 2 +- 15 files changed, 53 insertions(+), 21 deletions(-) create mode 100644 app/views/metrics/_readability_scale.html.erb diff --git a/Gemfile b/Gemfile index ccad4dc..d57ae97 100644 --- a/Gemfile +++ b/Gemfile @@ -26,6 +26,8 @@ gem 'material_icons' # Design gem 'materialize-sass', '~> 1.0.0' +gem 'd3-rails' +gem 'd3-cloud-rails' # NLP gem 'birch', github: 'billthompson/birch', branch: 'birch-ruby22' diff --git a/Gemfile.lock b/Gemfile.lock index 7c2f735..0ea50a2 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -90,6 +90,11 @@ GEM thor (~> 0.19.4) tins (~> 1.6) crass (1.0.4) + d3-cloud-rails (0.0.2) + d3-rails (~> 4.10) + rails (~> 5.0) + d3-rails (4.13.0) + railties (>= 3.1) database_cleaner (1.7.0) debugger-linecache (1.2.0) devise (4.5.0) @@ -132,7 +137,7 @@ GEM thor (>= 0.14, < 2.0) json (2.1.0) jwt (2.1.0) - libv8 (6.7.288.46.1-x86_64-linux) + libv8 (6.7.288.46.1) loggability (0.14.0) loofah (2.2.3) crass (~> 1.0.2) @@ -307,6 +312,8 @@ DEPENDENCIES byebug (= 3.4.0) coffee-rails coveralls + d3-cloud-rails + d3-rails database_cleaner devise docx-html diff --git a/app/assets/javascripts/application.js b/app/assets/javascripts/application.js index a5b8a8f..c12f34a 100644 --- a/app/assets/javascripts/application.js +++ b/app/assets/javascripts/application.js @@ -11,8 +11,5 @@ // about supported directives. // //= require jquery -//= require jquery_ujs -//= require turbolinks -//= require medium-editor //= require materialize //= require_tree . diff --git a/app/assets/stylesheets/theme.scss b/app/assets/stylesheets/theme.scss index de91386..ecc8c46 100644 --- a/app/assets/stylesheets/theme.scss +++ b/app/assets/stylesheets/theme.scss @@ -3,11 +3,6 @@ body { font-size: 12pt; } -thead { - background: #F9CE55; - font-weight: bold; -} - pre { white-space: pre-wrap; } @@ -68,3 +63,8 @@ pre { height: 100%; resize: vertical; } + +.word-badge { + margin: 0; + padding: 2px 5px; +} diff --git a/app/jobs/metrics_job.rb b/app/jobs/metrics_job.rb index 64d342a..9570467 100644 --- a/app/jobs/metrics_job.rb +++ b/app/jobs/metrics_job.rb @@ -25,7 +25,7 @@ def compute(corpus, metric_group, computations_to_do) puts "Done in #{(finish - start).round(5)} seconds. Saving result." metric = metric_group.metrics.find_or_create_by(name: method) - metric.update!(value: result, format_style: format_style) + metric.update!(value: result.to_json, format_style: format_style) end end diff --git a/app/jobs/word_frequency_metrics_job.rb b/app/jobs/word_frequency_metrics_job.rb index ea96bd6..c7f014e 100644 --- a/app/jobs/word_frequency_metrics_job.rb +++ b/app/jobs/word_frequency_metrics_job.rb @@ -42,7 +42,7 @@ def perform(book_id, *args) [WordFrequencyService, :word_count, :integer], [WordFrequencyService, :words_per_paragraph], [WordFrequencyService, :words_per_sentence], - [WordFrequencyService, :one_syllable_words], + [WordFrequencyService, :one_syllable_words, :integer], ]) end end diff --git a/app/models/concerns/has_parts_of_speech.rb b/app/models/concerns/has_parts_of_speech.rb index a3bfd20..d34f247 100644 --- a/app/models/concerns/has_parts_of_speech.rb +++ b/app/models/concerns/has_parts_of_speech.rb @@ -23,6 +23,7 @@ def numbers @numbers ||= text.strip .split(' ') .select { |w| is_numeric?(w) } + .uniq end def prepositions @@ -34,7 +35,7 @@ def pronouns end def stop_words - words.select { |word| I18n.t('stop-words').include? word } + words.select { |word| I18n.t('stop-words').include? word }.uniq end def verbs diff --git a/app/views/books/show.html.erb b/app/views/books/show.html.erb index c2903b7..95d7f49 100644 --- a/app/views/books/show.html.erb +++ b/app/views/books/show.html.erb @@ -30,15 +30,15 @@ <%= @book.last_indexed %>

-