Where is the aspell private dictionary on Mac [closed] - macos

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about a specific programming problem, a software algorithm, or software tools primarily used by programmers. If you believe the question would be on-topic on another Stack Exchange site, you can leave a comment to explain where the question may be able to be answered.
Closed 9 years ago.
Improve this question
I am using emacs on Mac Os X and I installed aspell with homebrew. I accidentally added a wrong word to my "private dictionary", but where is that dictionary? How can I open it and see what I have added in there?
I found a similar question here (How to remove an entry from ispell private dictionary?) but I couldn't find the directories they mentioned. I found one aspell folder at \usr\local\Cellar\aspell\, but I still can't find which one is the private dictionary.

Search for a file ending in .pws -- it will probably look something like this .aspell.en.pws for English.
You can also run something like this to see where everything is located -- just change the path to wherever your own aspell executable is located:
/Users/HOME/.0.data/.0.emacs/elpa/bin/aspell --lang=en dump config
If you want to change things, you can create an aspell.conf and put it inside the etc folder, which should be in the same set of directories near to where the aspell executable is located. I actually had to create the etc folder and the aspell.conf because the make process of a generic installation did not create that folder. Running the above command-line will also tell you the location where aspell looks for the aspell.conf file.
Sample aspell.conf: I only use Spanish and English -- the default on my setup is the latter -- borrowed (and modified from): https://github.com/jone/dotfiles/blob/master/aspell.conf
# /Users/HOME/.0.data/.0.emacs/elpa/bin/aspell --lang=en dump config
# conf (string)
# main configuration file
# default: aspell.conf
# home-dir (string)
# location for personal files
# default: <$HOME|./> = /Users/jone
# home-dir $HOME/Library/Preferences/aspell
home-dir /Users/HOME/.0.data/.0.emacs
# personal (string)
# personal dictionary file name
# default: .aspell.<lang>.pws = .aspell.de_CH.pws
personal .aspell.en.pws
# conf-dir (string)
# location of main configuration file
# default: <prefix:etc> = /usr/local/etc
# data-dir (string)
# location of language data files
# default: <prefix:lib/aspell-0.60> = /usr/local/lib/aspell-0.60
# data-dir /usr/local/lib/aspell-0.60
# dict-alias (list)
# create dictionary aliases
# dict-dir (string)
# location of the main word list
# default: <data-dir> = /usr/local/lib/aspell-0.60
# dict-dir /usr/local/lib/aspell-0.60
# encoding (string)
# encoding to expect data to be in
# default: !encoding = UTF-8
# filter (list)
# add or removes a filter
# filter-path (list)
# path(s) aspell looks for filters
# mode (string)
# filter mode
# default: url
# mode tex
# extra-dicts (list)
# extra dictionaries to use
# ignore (integer)
# ignore words <= n chars
# default: 1
# ignore-case (boolean)
# ignore case when checking words
# default: false
# ignore-repl (boolean)
# ignore commands to store replacement pairs
# default: false
ignore-repl false
# keyboard (string)
# keyboard definition to use for typo analysis
# default: standard
# lang (string)
# language code
# default: <language-tag> = de_CH
# local-data-dir (string)
# location of local language data files
# default: <actual-dict-dir> = /usr/local/lib/aspell-0.60/
# master (string)
# base name of the main dictionary to use
# default: <lang> = de_CH
# normalize (boolean)
# enable Unicode normalization
# default: true
# norm-required (boolean)
# Unicode normalization required for current lang
# default: false
# norm-form (string)
# Unicode normalization form: none, nfd, nfc, comp
# default: nfc
# norm-strict (boolean)
# avoid lossy conversions when normalization
# default: false
# per-conf (string)
# personal configuration file
# default: .aspell.conf
# prefix (string)
# prefix directory
# default: /usr/local
# repl (string)
# replacements list file name
# default: .aspell.<lang>.prepl = .aspell.de_CH.prepl
# run-together (boolean)
# consider run-together words legal
# default: false
# run-together-limit (integer)
# maximum number that can be strung together
# default: 2
# run-together-min (integer)
# minimal length of interior words
# default: 3
# save-repl (boolean)
# save replacement pairs on save all
# default: true
# set-prefix (boolean)
# set the prefix based on executable location
# default: true
# size (string)
# size of the word list
# default: +60
# sug-mode (string)
# suggestion mode
# default: normal
# sug-edit-dist (integer)
# edit distance to use, override sug-mode default
# default: 1
# sug-typo-analysis (boolean)
# use typo analysis, override sug-mode default
# default: true
# sug-repl-table (boolean)
# use replacement tables, override sug-mode default
# default: true
# sug-split-char (list)
# characters to insert when a word is split
# use-other-dicts (boolean)
# use personal, replacement & session dictionaries
# default: true
# variety (list)
# extra information for the word list
# warn (boolean)
# enable warnings
# default: true
# affix-compress (boolean)
# use affix compression when creating dictionaries
# default: false
# clean-affixes (boolean)
# remove invalid affix flags
# default: true
# clean-words (boolean)
# attempts to clean words so that they are valid
# default: false
# invisible-soundslike (boolean)
# compute soundslike on demand rather than storing
# default: false
# partially-expand (boolean)
# partially expand affixes for better suggestions
# default: false
# skip-invalid-words (boolean)
# skip invalid words
# default: true
# validate-affixes (boolean)
# check if affix flags are valid
# default: true
# validate-words (boolean)
# check if words are valid
# default: true
# backup (boolean)
# create a backup file by appending ".bak"
# default: true
# byte-offsets (boolean)
# use byte offsets instead of character offsets
# default: false
# guess (boolean)
# create missing root/affix combinations
# default: false
# keymapping (string)
# keymapping for check mode: "aspell" or "ispell"
# default: aspell
# reverse (boolean)
# reverse the order of the suggest list
# default: false
# suggest (boolean)
# suggest possible replacements
# default: true
# time (boolean)
# time load time and suggest time in pipe mode
# default: false
#######################################################################
#
# Filter: context
# experimental filter for hiding delimited contexts
#
# configured as follows:
# f-context-delimiters (list)
# context delimiters (separated by spaces)
# f-context-visible-first (boolean)
# swaps visible and invisible text
# default: false
#######################################################################
#
# Filter: email
# filter for skipping quoted text in email messages
#
# configured as follows:
# f-email-quote (list)
# email quote characters
# f-email-margin (integer)
# num chars that can appear before the quote char
# default: 10
#######################################################################
#
# Filter: html
# filter for dealing with HTML documents
#
# configured as follows:
# f-html-check (list)
# HTML attributes to always check
# f-html-skip (list)
# HTML tags to always skip the contents of
#######################################################################
#
# Filter: sgml
# filter for dealing with generic SGML/XML documents
#
# configured as follows:
# f-sgml-check (list)
# SGML attributes to always check
# f-sgml-skip (list)
# SGML tags to always skip the contents of
#######################################################################
#
# Filter: tex
# filter for dealing with TeX/LaTeX documents
#
# configured as follows:
# f-tex-check-comments (boolean)
# check TeX comments
# default: false
# f-tex-command (list)
# TeX commands
#######################################################################
#
# Filter: texinfo
# filter for dealing with Texinfo documents
#
# configured as follows:
# f-texinfo-ignore (list)
# Texinfo commands to ignore the parameters of
# f-texinfo-ignore-env (list)
# Texinfo environments to ignore
These are my notes for installing aspell on Windows and OSX:
OSX -- To dump the aspell configuration in OSX type:
# /Users/HOME/.0.data/.0.emacs/elpa/bin/aspell --lang=en dump config
The aspell.conf goes into the .../etc directory
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
OSX -- ASPELL -- Binary
* unpack aspell-0.60.6.tar.gz
* cd over to the root directory of the unpacked source
PATH=/usr/bin:/usr/sbin:/bin:/sbin ./configure \
--prefix=$HOME/.0.data/.0.emacs/elpa
make
sudo make install
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
OSX -- ASPELL -- DICTIONARY -- English
* unpack aspell6-en-7.1-0.tar.bz2
* cd over to the root directory of the unpacked source
./configure \
--vars PATH=$PATH:/Users/HOME/.0.data/.0.emacs/elpa/bin
make
sudo make install
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
OSX -- ASPELL -- DICTIONARY -- Spanish
* unpack aspell6-es-1.11-2.tar.bz2
* cd over to the root directory of the unpacked source
./configure \
--vars PATH=$PATH:/Users/HOME/.0.data/.0.emacs/elpa/bin
make
sudo make install
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Windows XP -- install:
BASE: Aspell-0-50-3-3-Setup.exe
English: Aspell-en-0.50-2-3.exe
Spanish: Aspell-es-0.50-2-3.exe
Windows XP -- create an aspell.conf file at the following location:
c:/Program Files/Aspell/aspell.conf
# aspell.conf
# To dump the configuration, type into the terminal:
# "c:/Program Files/Aspell/bin/aspell.exe" --lang=en dump config
home-dir y:\.0.emacs
personal .aspell.en.pws
repl .aspell.en.prepl

Related

How to use pg_search_scope with Mobility for translated attributes?

how can i use pg_search_scope in combination with Mobility for translated attributes? Available languages are :de and :en. Searching for category names return empty results. There mus be a way to search for locale_accessors, in my case it should be name_de || name_en depending on current i18n.locale settings.
Here's my controller method:
def index
#categories = params[:query].present? ? Category.search(params[:query]) : Category.all.includes(%i[string_translations])
end
Here's my model:
class Category < ApplicationRecord
extend Mobility
translates :name, type: :string
include PgSearch::Model
pg_search_scope :search,
against: [:name],
using: {
trigram: { threshold: 0.3, word_similarity: true }
}
end
Here's my mobility config:
Mobility.configure do
# PLUGINS
plugins do
# Backend
#
# Sets the default backend to use in models. This can be overridden in models
# by passing +backend: ...+ to +translates+.
#
# To default to a different backend globally, replace +:key_value+ by another
# backend name.
#
backend :key_value
# ActiveRecord
#
# Defines ActiveRecord as ORM, and enables ActiveRecord-specific plugins.
active_record
# Accessors
#
# Define reader and writer methods for translated attributes. Remove either
# to disable globally, or pass +reader: false+ or +writer: false+ to
# +translates+ in any translated model.
#
reader
writer
# Backend Reader
#
# Defines reader to access the backend for any attribute, of the form
# +<attribute>_backend+.
#
backend_reader
#
# Or pass an interpolation string to define a different pattern:
# backend_reader "%s_translations"
# Query
#
# Defines a scope on the model class which allows querying on
# translated attributes. The default scope is named +i18n+, pass a different
# name as default to change the global default, or to +translates+ in any
# model to change it for that model alone.
#
query
# Cache
#
# Comment out to disable caching reads and writes.
#
cache
# Dirty
#
# Uncomment this line to include and enable globally:
# dirty
#
# Or uncomment this line to include but disable by default, and only enable
# per model by passing +dirty: true+ to +translates+.
# dirty false
# Fallbacks
#
# Uncomment line below to enable fallbacks, using +I18n.fallbacks+.
# fallbacks
#
# Or uncomment this line to enable fallbacks with a global default.
# fallbacks { :pt => :en }
# Presence
#
# Converts blank strings to nil on reads and writes. Comment out to
# disable.
#
presence
# Default
#
# Set a default translation per attributes. When enabled, passing +default:
# 'foo'+ sets a default translation string to show in case no translation is
# present. Can also be passed a proc.
#
# default 'foo'
# Fallthrough Accessors
#
# Uses method_missing to define locale-specific accessor methods like
# +title_en+, +title_en=+, +title_fr+, +title_fr=+ for each translated
# attribute. If you know what set of locales you want to support, it's
# generally better to use Locale Accessors (or both together) since
# +method_missing+ is very slow. (You can use both fallthrough and locale
# accessor plugins together without conflict.)
#
# fallthrough_accessors
# Locale Accessors
#
# Uses +def+ to define accessor methods for a set of locales. By default uses
# +I18n.available_locales+, but you can pass the set of locales with
# +translates+ and/or set a global default here.
#
locale_accessors
#
# Or define specific defaults by uncommenting line below
# locale_accessors [:en, :ja]
# Attribute Methods
#
# Adds translated attributes to +attributes+ hash, and defines methods
# +translated_attributes+ and +untranslated_attributes+ which return hashes
# with translated and untranslated attributes, respectively. Be aware that
# this plugin can create conflicts with other gems.
#
# attribute_methods
end
end
Is it possible and how it works?
Thank you very much for help me out in this case!
You can use dynamic scope with lambda and return the config hash with the query:
pg_search_scope :search, lambda { |query|
{
against: ["name_#{I18n.locale}".to_sym],
trigram: { threshold: 0.3, word_similarity: true },
ignoring: :accents,
query: query
}
}

Chef - using a ruby script to edit multiple values programmatically

I'm attempting to write a ruby script so I can edit the run_lists of a bunch of nodes resulting from a knife search command. I was told to try to use knife exec, but I am yielding the same results as I am just executing the script.
I'm using a OS command dictated by the back ticks. The first command works using the knife search, but when I feed those results into to the following each_line block, it gives me the error in the comments of the script. So, obviously the first part is working, but the second is not even though its setup the exact same way.
#!/usr/bin/env ruby
#
#
#
# %CORPCERT% = C:\Users\myuser\Documents\test\knife.rb
# This contains all the pointers to the client.pem, and other required files.
output = `knife search node "fqdn:node*test*.example.net" -i -c %CORPCERT%`
output.each_line do |result|
#puts result
puts "Adding run_list to #{result}"
`knife node run_list add #{result} "role[role_zabbix_agent_corp_prod]" -c %CORPCERT%`
#puts "#{exitcode}"
end
#C:\U\P028300\Desktop> knife exec apply_run_list.rb -c %CORPCERT%
# => Adding run_list to 8 items found
# => WARNING: No knife configuration file found
# => ERROR: Your private key could not be loaded from C:\chef\client.pem
# => Adding run_list to
# => WARNING: No knife configuration file found
# => ERROR: Your private key could not be loaded from C:\chef\client.pem
# => Adding run_list to nodeSTtestST0.example.net
# => WARNING: No knife configuration file found
# => ERROR: Your private key could not be loaded from C:\chef\client.pem
# => Adding run_list to nodeGWtestST0.example.net
# => WARNING: No knife configuration file found
# => ERROR: Your private key could not be loaded from C:\chef\client.pem
# => Adding run_list to nodeGWtestST1.example.net
# => WARNING: No knife configuration file found
# => ERROR: Your private key could not be loaded from C:\chef\client.pem
# => Adding run_list to nodeGWtestRT1.example.net
# => WARNING: No knife configuration file found
# => ERROR: Your private key could not be loaded from C:\chef\client.pem
# => Adding run_list to nodeGWtestRT2.example.net
# => WARNING: No knife configuration file found
# => ERROR: Your private key could not be loaded from C:\chef\client.pem
# => Adding run_list to nodeSTtestRT0.example.net
# => WARNING: No knife configuration file found
# => ERROR: Your private key could not be loaded from C:\chef\client.pem
# => Adding run_list to nodeGWtestRT3.example.net
# => WARNING: No knife configuration file found
# => ERROR: Your private key could not be loaded from C:\chef\client.pem
# => Adding run_list to nodeGWtestRT0.example.net
# => WARNING: No knife configuration file found
# => ERROR: Your private key could not be loaded from C:\chef\client.pem
I know I'm not doing the knife exec command correctly, and the documentation is confusing to me. I haven't found any examples that are close, or related to what I am trying to do. How should I go about trying to programmatically search for nodes, and then update, or add items to their run_list?
A simple way of doing this:
knife exec -E 'nodes.transform("fqdn:WSO2*") { |n| n.run_list << "role[role_zabbix_agent_corp_prod]" }'
nodes.transform handles the search loop and the save (as long the block doesn't return nil/false) and RunList#<< already checks if it is already in the run list.
A simpler solution is to use ridley, a ruby API library for chef server:
require 'ridley'
Ridley::Logging.logger.level = Logger.const_get 'ERROR'
ridley = Ridley.from_chef_config("C:\Users\myuser\Documents\test\knife.rb", {:ssl => {:verify => false}})
ridley.search(:node, "fqdn:node*test*.example.net").each { |n|
n.merge_data(:run_list => ["role[role_zabbix_agent_corp_prod]"])
n.save
}
This is what I did to accomplish what I wanted to do after talking with some friends and IRC chat rooms.
# similar to knife search node "fqdn:WSO2*"
search("node", "fqdn:WSO2*").each do |search_node|
# This looks at the array of the node information, and if the
# run_list already exists, do nothing and move on.
unless search_node.run_list.include?("role[role_zabbix_agent_corp_prod]")
# This adds the listed role, or recipe to the end of the run_list
search_node.run_list.push "role[role_zabbix_agent_corp_prod]"
# Save the modifications.
search_node.save
end #=> End Unless
end #=> End Search
# Make sure to add this to the end, or it will continue to keep running.
exit 0
Put the above script into a file named script.rb and run it as such:
knife exec script.rb
After doing reading through knife exec and also, chef-shell, I had to play around with the data structures and figure out how they were presented by Chef. The site here: http://www.bonusbits.com/main/Reference:Chef_Node_Data_Structure and http://www.bonusbits.com/main/Reference:Chef_Shell helped a lot as well. I hope this helps someone wanting to understand Chef a bit more.

How should we externalize variables in a Vagrantfile?

I have a vagrant file, where I want a variable "servers" to be used ...
# -*- mode: ruby -*-
# vi: set ft=ruby :
NUMM = 3
IP_OFFSET = 10
setup_master = File.read("master.sh")
setup_slave = File.read("slave.sh")
def ip_from_num(i)
"172.31.16.#{100+i+IP_OFFSET}"
end
# Map of servers -> parameters.
servers = {
0 => ["mybox","master.rhbd","ami-759dcb74","ap-northeast-1","subnet-4aa28b22","MASTER",ip_from_num(0)],
1 => ["mybox","slave1.rhbd","ami-759dcb74","ap-northeast-1","subnet-4aa28b22","SLAVE",ip_from_num(1)],
}
def getBox()
## this variable isnt available to vagrant...
servers[0]
end
Vagrant.configure("2") do |config|
(0..NUMM).each do |i|
config.vm.define "aws#{i}" do |n|
n.vm.box = getBox()
...
When this Vagrantfile is invoked, however, vagrant complains that the "servers" variable is not in existence. This makes sense : If vagrant is invoking from another class, and reading the configuration from that location, then the class variables defined in Vagrantfile might not be accessible in that scope.
So my question is : How can I make variables inside my Vagrantfile accessible to the outside provisioner? It seems to work okay with function calls (either because they are materialized during creation , or else because vagrant can easily call a function due to default scoping).
Another option could be, to turn the variables into functions - not nice, but if it is good enough for the circumstances:
# Map of servers -> parameters.
def servers()
{
0 => ["mybox","master.rhbd","ami-759dcb74","ap-northeast-1","subnet-4aa28b22","MASTER",ip_from_num(0)],
1 => ["mybox","slave1.rhbd","ami-759dcb74","ap-northeast-1","subnet-4aa28b22","SLAVE",ip_from_num(1)],
}
end
def getBox()
## this variable isnt available to vagrant...
servers()[0]
end
(Assuming servers is needed somewhere else too, otherwise it could just be a local variable in getBox.)

Finalizing a JRuby application

So I have created an application in JRuby for the first time. Now I'm having trouble to understand how to finalize the application, ie. how to provide a .jar file that can be executed by the end user.
I'm aware of compiling to a .class file which can be invoked via the command line, but that's not very user friendly.
How do I provide an easy access to my application written in JRuby to an end user?
How do I provide an easy access to my application written in JRuby to
an end user?
You can try to install the rawr gem and see if you can get that to work.
1) To create all the necessary rawr files for your project(this is after you install the rawr gem):
~/jruby_programs$ mkdir proj1
~/jruby_programs$ cd proj1
~/jruby_programs/proj1$ rawr install
Then you get a bunch of output. That creates this directory structure:
../proj1
├── Rakefile
├── build_configuration.rb
├── lib
│   └── java
│   └── jruby-complete.jar
└── src
└── org
└── monkeybars
└── rawr
├── Main.java
└── Path.java
2) Put your source code in the src/ directory, e.g.
./src
├── hello_jruby.rb
└── org/
#hello_jruby.rb
puts 'hello'
require 'java'
java_import 'java.util.TreeSet'
set = TreeSet.new
set.add "foo"
set.add "Bar"
set.add "baz"
set.each do |v|
puts "value: #{v}"
end
3) Create the jar file:
~/jruby_programs/proj1$ rake rawr:jar
I initially used rake rawr:base_jar because that is what the rawr docs indicate you should do, but that wouldn't work for me. When I executed the jar file(see next step), I kept getting the error:
Exception in thread "main" java.lang.NoClassDefFoundError:
org/jruby/RubyInstanceConfig at
org.monkeybars.rawr.Main.main(Main.java:21) Caused by:
java.lang.ClassNotFoundException: org.jruby.RubyInstanceConfig
4) Execute the jar file:
~/jruby_programs/proj1$ java -jar package/jar/proj1.jar
This is my output:
Add 'src/' to $:
hello
value: Bar
value: baz
value: foo
Unfortuantely, I don't know how to get rid of that first line. $: is a ruby global variable whose synonym is $LOAD_PATH. Adding the following to the top of hello_jruby.rb didn't work:
$LOAD_PATH << '/src'
Here are the tweaks I had to make to the build_configurationl.rb file(you only have to uncomment sections if the defaults don't work for you):
# Generated by Rawr version 1.7.0
configuration do |c|
# The name for your resulting application file (e.g., if the project_name is 'foo' then you'll get foo.jar, foo.exe, etc.)
# default value: "proj1"
#
#c.project_name = "proj1"
# Undocumented option 'output_dir'
# default value: "package"
#
#c.output_dir = "package"
# The type of executable to create (console or gui)
# default value: "gui"
#
c.executable_type = "console"
# The main ruby file to invoke, minus the .rb extension
# default value: "main"
#
c.main_ruby_file = 'hello_jruby'
# The fully-qualified name of the main Java file used to initiate the application.
# default value: "org.monkeybars.rawr.Main"
#
#c.main_java_file = "org.monkeybars.rawr.Main"
# A list of directories where source files reside
# default value: ["src"]
#
#c.source_dirs = ["src"]
# A list of regexps of files to exclude
# default value: []
#
#c.source_exclude_filter = []
# The base directory that holds Mirah files, or subdirectories with Mirah files.
# default value: "src"
#
#c.mirah_source_root = "src"
# Whether Ruby source files should be compiled into .class files. Setting this to true currently breaks packaging
# default value: false
#
#c.compile_ruby_files = false
# A list of individual Java library files to include.
# default value: []
#
#c.java_lib_files = []
# A list of directories for rawr to include . All files in the given directories get bundled up.
# default value: ["lib/java"]
#
#c.java_lib_dirs = ["lib/java"]
# A list of files that will be copied into the `<output_dir>/jar` folder. Note that the files maintain their directory path when copied.
# default value: []
#
#c.files_to_copy = []
# Undocumented option 'source_jvm_version'
# default value: 1.7
#
c.source_jvm_version = 1.6
# Undocumented option 'target_jvm_version'
# default value: 1.7
#
c.target_jvm_version = 1.6
# Undocumented option 'jvm_arguments'
# default value: ""
#
#c.jvm_arguments = ""
# Undocumented option 'java_library_path'
# default value: ""
#
#c.java_library_path = ""
# Undocumented option 'extra_user_jars'
# default value: {}
#
#c.extra_user_jars[:data] = { :directory => 'data/images/png',
# :location_in_jar => 'images',
# :exclude => /*.bak$/ }
# Undocumented option 'verbose'
# default value: false
#
#c.verbose = false
# Undocumented option 'mac_do_not_generate_plist'
# default value: false
#
#c.mac_do_not_generate_plist = false
# working directory specified in plist file
# default value: "$APP_PACKAGE"
#
#c.mac_plist_working_directory = "$APP_PACKAGE"
# Undocumented option 'mac_icon_path'
# default value: nil
#
#c.mac_icon_path = nil
# Undocumented option 'windows_icon_path'
# default value: nil
#
#c.windows_icon_path = nil
end

can access active admin/users on local but not production

ok so I can get to active admin on local and my site just fine - within active admin I have the options to select from Pins or Users (my two models) on local, can see all of the pins and users in the db just fine. However, live (heroku) I can access active admin barnpix.com/admin and clicking on pins works just fine ..however when I click users I get a generic heroku error... please help why does this work in local but not live?
Omrails::Application.routes.draw do
get "pages/tagz"
get "pages/about"
get "posts/show"
get "posts/destroy"
root :to => 'pins#index'
get 'tags/:tag' , to: 'pins#index', as: :tag
get "posts", to: "posts#index"
resources :posts
resources :pins
get "users/show"
devise_for :users
match 'users/:id' => 'users#show', as: :user
ActiveAdmin.routes(self)
devise_for :admin_users, ActiveAdmin::Devise.config
ActiveAdmin.routes(self)
devise_for :views
ActiveAdmin.routes(self)
ActiveAdmin.setup do |config|
# == Site Title
#
# Set the title that is displayed on the main layout
# for each of the active admin pages.
#
config.site_title = "BarnPix.com"
# Set the link url for the title. For example, to take
# users to your main site. Defaults to no link.
#
config.site_title_link = "http://www.barnpix.com"
# Set an optional image to be displayed for the header
# instead of a string (overrides :site_title)
#
# Note: Recommended image height is 21px to properly fit in the header
#
# config.site_title_image = "/images/logo.png"
# == Default Namespace
#
# Set the default namespace each administration resource
# will be added to.
#
# eg:
# config.default_namespace = :hello_world
#
# This will create resources in the HelloWorld module and
# will namespace routes to /hello_world/*
#
# To set no namespace by default, use:
# config.default_namespace = false
#
# Default:
# config.default_namespace = :admin
#
# You can customize the settings for each namespace by using
# a namespace block. For example, to change the site title
# within a namespace:
#
# config.namespace :admin do |admin|
# admin.site_title = "Custom Admin Title"
# end
#
# This will ONLY change the title for the admin section. Other
# namespaces will continue to use the main "site_title" configuration.
# == User Authentication
#
# Active Admin will automatically call an authentication
# method in a before filter of all controller actions to
# ensure that there is a currently logged in admin user.
#
# This setting changes the method which Active Admin calls
# within the controller.
config.authentication_method = :authenticate_admin_user!
# == Current User
#
# Active Admin will associate actions with the current
# user performing them.
#
# This setting changes the method which Active Admin calls
# to return the currently logged in user.
config.current_user_method = :current_admin_user
# == Logging Out
#
# Active Admin displays a logout link on each screen. These
# settings configure the location and method used for the link.
#
# This setting changes the path where the link points to. If it's
# a string, the strings is used as the path. If it's a Symbol, we
# will call the method to return the path.
#
# Default:
config.logout_link_path = :destroy_admin_user_session_path
# This setting changes the http method used when rendering the
# link. For example :get, :delete, :put, etc..
#
# Default:
# config.logout_link_method = :get
# == Root
#
# Set the action to call for the root path. You can set different
# roots for each namespace.
#
# Default:
# config.root_to = 'dashboard#index'
# == Admin Comments
#
# Admin comments allow you to add comments to any model for admin use.
# Admin comments are enabled by default.
#
# Default:
# config.allow_comments = true
#
# You can turn them on and off for any given namespace by using a
# namespace config block.
#
# Eg:
# config.namespace :without_comments do |without_comments|
# without_comments.allow_comments = false
# end
# == Batch Actions
#
# Enable and disable Batch Actions
#
config.batch_actions = true
# == Controller Filters
#
# You can add before, after and around filters to all of your
# Active Admin resources and pages from here.
#
# config.before_filter :do_something_awesome
# == Register Stylesheets & Javascripts
#
# We recommend using the built in Active Admin layout and loading
# up your own stylesheets / javascripts to customize the look
# and feel.
#
# To load a stylesheet:
# config.register_stylesheet 'my_stylesheet.css'
# You can provide an options hash for more control, which is passed along to stylesheet_link_tag():
# config.register_stylesheet 'my_print_stylesheet.css', :media => :print
#
# To load a javascript file:
# config.register_javascript 'my_javascript.js'
# == CSV options
#
# Set the CSV builder separator (default is ",")
# config.csv_column_separator = ','
#
# Set the CSV builder options (default is {})
# config.csv_options = {}
# == Menu System
#
# You can add a navigation menu to be used in your application, or configure a provided menu
#
# To change the default utility navigation to show a link to your website & a logout btn
#
# config.namespace :admin do |admin|
# admin.build_menu :utility_navigation do |menu|
# menu.add label: "My Great Website", url: "http://www.mygreatwebsite.com", html_options: { target: :blank }
# admin.add_logout_button_to_menu menu
# end
# end
#
# If you wanted to add a static menu item to the default menu provided:
#
# config.namespace :admin do |admin|
# admin.build_menu :default do |menu|
# menu.add label: "My Great Website", url: "http://www.mygreatwebsite.com", html_options: { target: :blank }
# end
# end
# == Download Links
#
# You can disable download links on resource listing pages,
# or customize the formats shown per namespace/globally
#
# To disable/customize for the :admin namespace:
#
# config.namespace :admin do |admin|
#
# # Disable the links entirely
# admin.download_links = false
#
# # Only show XML & PDF options
# admin.download_links = [:xml, :pdf]
#
# end
# == Pagination
#
# Pagination is enabled by default for all resources.
# You can control the default per page count for all resources here.
#
#config.default_per_page = 30
# == Filters
#
# By default the index screen includes a “Filters” sidebar on the right
# hand side with a filter for each attribute of the registered model.
# You can enable or disable them for all resources here.
#
# config.filters = true
end

Resources