Simon KiteleyPRO

Joined 10/25/2016
Simon Kiteley PRO said 11 months ago:

Great video. Wonder if I am the only person who thinks a summernote uploading images, and activestorage video would be incredibly useful :)

Simon Kiteley PRO said 11 months ago:

Your current summernote video javascript does not need changes (except to match the different names I used for my models). Great work.

Simon Kiteley PRO said 11 months ago:

Thanks.

Simon Kiteley PRO said 11 months ago:

Your current summernote video javascript does not need changes (except to match the different names I used for my models). Great work.

Simon Kiteley PRO said 10 months ago:

Found I had an issue when storing to Amazon S3 that link used times out, I believe. Would you have an idea how to fix this?

kobaltz PRO said 10 months ago:

I believe that this is caused by the url_for which creates the presigned_key URL and has a 5 minute default expiration. You could instead of the JSON response of the direct URL, you send the response back which goes to the SHOW action of the ArticleImage. The show action will get the record and redirect to the S3 link from the url_for. This could have the added benefit of checking authorization/authentication of the image about to be displayed to a user. This would also solve the expiration time as it would generate a new link. You could also wrap the url_for with a Rails.cache.fetch and set the expiration to 5 minutes to prevent the overhead of having to get another signed url for every request of the same image within the given interval.

Simon Kiteley PRO said 10 months ago:

Brilliant, thanks for that. Not sure about a couple of the steps you mention but sure a google search will provide lol.

Simon Kiteley PRO said 10 months ago:

Brilliant, thanks for that. Not sure about a couple of the steps you mention but sure a google search will provide lol.

Simon Kiteley PRO said 4 months ago:

Not sure if its the correct solution but add a subdirectory 'docs' and use:

RspecApiDocumentation.configure do |config|
  config.docs_dir = Rails.root.join('public/docs')
  ...
end

and

SwaggerUiEngine.configure do |config|
  config.swagger_url = '/docs/open_api.json'
  ...
end

compostbrain PRO said 4 months ago:

Thanks!!

Simon Kiteley PRO said 3 months ago:

redirect_back

One of he problems with being a lone coder is sometimes you miss something really useful... OMG what a muppet I've been lol.

Simon Kiteley PRO said about 1 month ago:

No but I do see your new episode :) many thanks. I will be starting to client projects soon so will give it a go :)

Simon Kiteley PRO said 30 days ago:

Thanks for the episode but having a issue from the beginning. With the simplest template:

gem 'devise'
run 'bundle install'

generate(:scaffold, 'user', 'name')
rails_command('generate devise:install')
rails_command('generate devise User')

I am getting a migration of:

# frozen_string_literal: true

class AddDeviseToUsers < ActiveRecord::Migration[5.2]
  def self.up
    change_table :users do |t|
      ## Database authenticatable
      t.string :email,              null: false, default: ""
      t.string :encrypted_password, null: false, default: ""

      ## Recoverable
      t.string   :reset_password_token
      t.datetime :reset_password_sent_at

      ## Rememberable
      t.datetime :remember_created_at

      ## Trackable
      # t.integer  :sign_in_count, default: 0, null: false
      # t.datetime :current_sign_in_at
      # t.datetime :last_sign_in_at
      # t.string   :current_sign_in_ip
      # t.string   :last_sign_in_ip

      ## Confirmable
      # t.string   :confirmation_token
      # t.datetime :confirmed_at
      # t.datetime :confirmation_sent_at
      # t.string   :unconfirmed_email # Only if using reconfirmable

      ## Lockable
      # t.integer  :failed_attempts, default: 0, null: false # Only if lock strategy is :failed_attempts
      # t.string   :unlock_token # Only if unlock strategy is :email or :both
      # t.datetime :locked_at

      t.string :RAILS_ENV=development

      # Uncomment below if timestamps were not included in your original model.
      # t.timestamps null: false
    end

    add_index :users, :email,                unique: true
    add_index :users, :reset_password_token, unique: true
    # add_index :users, :confirmation_token,   unique: true
    # add_index :users, :unlock_token,         unique: true
  end

  def self.down
    # By default, we don't want to make any assumption about how to roll back a migration when your
    # model already existed. Please edit below which fields you would like to remove in this migration.
    raise ActiveRecord::IrreversibleMigration
  end
end

I've not got a clue where:

 t.string :RAILS_ENV=development

is coming from!

Anyone got any idea?

kobaltz PRO said 30 days ago:

That is indeed very strange! I just reprovisioned my development environment this morning and tested this with the latest Rails and devise. It is happening to me too! I'm guessing that when the generator is being ran, it is injecting the RAILS_ENV as an attribute and devise is picking it up somehow... Really weird!

kobaltz PRO said 30 days ago:

Using this works without adding in the weird ENV

gem 'devise'
run 'bundle install'

generate(:scaffold, 'user', 'name')
generate('devise:install')
generate('devise','User')

kobaltz PRO said 30 days ago:

I've entered an issue on Github regarding this issue. It is definitely unexpected behavior. However, I don't know how critical it is since there is a workaround.

https://github.com/plataformatec/devise/issues/4992

Simon Kiteley PRO said 27 days ago:

Thank you for that. The workaround should be fine for my purposes.

Simon Kiteley PRO said 27 days ago:

Thank you for that. The workaround should be fine for my purposes.